homework-jianmu/tests/script/tsim/join/full_join.sim

263 lines
4.6 KiB
Plaintext

sql connect
sql use test0;
sql select a.col1, b.col1 from sta a full join sta b on a.ts = b.ts and a.ts < '2023-11-17 16:29:02' and b.ts < '2023-11-17 16:29:01' order by a.col1, b.col1;
if $rows != 16 then
return -1
endi
if $data00 != NULL then
return -1
endi
if $data01 != 3 then
return -1
endi
if $data10 != NULL then
return -1
endi
if $data11 != 3 then
return -1
endi
if $data20 != NULL then
return -1
endi
if $data21 != 4 then
return -1
endi
sql select a.col1, b.col1 from sta a full join sta b on a.ts = b.ts where a.ts < '2023-11-17 16:29:02' and b.ts < '2023-11-17 16:29:01' order by a.col1, b.col1;
if $rows != 4 then
return -1
endi
if $data00 != 1 then
return -1
endi
if $data01 != 1 then
return -1
endi
if $data10 != 1 then
return -1
endi
if $data11 != 2 then
return -1
endi
if $data20 != 2 then
return -1
endi
if $data21 != 1 then
return -1
endi
if $data30 != 2 then
return -1
endi
if $data31 != 2 then
return -1
endi
sql select a.col1, b.col1 from sta a full join sta b on a.ts = b.ts;
if $rows != 12 then
return -1
endi
sql select a.col1, b.col1 from tba1 a full join tba2 b on a.ts = b.ts order by a.col1, b.col1;
if $rows != 6 then
return -1
endi
if $data00 != NULL then
return -1
endi
if $data01 != 3 then
return -1
endi
if $data10 != NULL then
return -1
endi
if $data11 != 7 then
return -1
endi
if $data20 != 1 then
return -1
endi
if $data21 != 2 then
return -1
endi
if $data30 != 3 then
return -1
endi
if $data31 != NULL then
return -1
endi
if $data40 != 4 then
return -1
endi
if $data41 != 5 then
return -1
endi
if $data50 != 5 then
return -1
endi
if $data51 != NULL then
return -1
endi
sql select a.col1, b.col1 from tba2 a full join tba1 b on a.ts = b.ts order by a.col1, b.col1;
if $rows != 6 then
return -1
endi
if $data00 != NULL then
return -1
endi
if $data01 != 3 then
return -1
endi
if $data10 != NULL then
return -1
endi
if $data11 != 5 then
return -1
endi
if $data20 != 2 then
return -1
endi
if $data21 != 1 then
return -1
endi
if $data30 != 3 then
return -1
endi
if $data31 != NULL then
return -1
endi
if $data40 != 5 then
return -1
endi
if $data41 != 4 then
return -1
endi
if $data50 != 7 then
return -1
endi
if $data51 != NULL then
return -1
endi
sql select a.ts, b.ts from tba1 a full join tba2 b on a.ts = b.ts and a.ts < '2023-11-17 16:29:03' and b.ts < '2023-11-17 16:29:03' order by a.ts;
if $rows != 7 then
return -1
endi
if $data00 != NULL then
return -1
endi
if $data10 != NULL then
return -1
endi
if $data20 != NULL then
return -1
endi
if $data30 != @23-11-17 16:29:00.000@ then
return -1
endi
if $data40 != @23-11-17 16:29:02.000@ then
return -1
endi
if $data50 != @23-11-17 16:29:03.000@ then
return -1
endi
if $data60 != @23-11-17 16:29:04.000@ then
return -1
endi
sql select a.ts, b.ts from tba1 a full join tba2 b on a.ts = b.ts and a.ts < '2023-11-17 16:29:03' and b.ts < '2023-11-17 16:29:03' order by b.ts desc;
if $rows != 7 then
return -1
endi
if $data01 != @23-11-17 16:29:05.000@ then
return -1
endi
if $data11 != @23-11-17 16:29:03.000@ then
return -1
endi
if $data21 != @23-11-17 16:29:01.000@ then
return -1
endi
if $data31 != @23-11-17 16:29:00.000@ then
return -1
endi
if $data41 != NULL then
return -1
endi
if $data51 != NULL then
return -1
endi
if $data61 != NULL then
return -1
endi
sql select b.ts, a.ts from tba1 a full join tba2 b on a.ts = b.ts and a.ts < '2023-11-17 16:29:03' and b.ts < '2023-11-17 16:29:03' order by b.ts desc, a.ts;
if $rows != 7 then
return -1
endi
if $data00 != @23-11-17 16:29:05.000@ then
return -1
endi
if $data10 != @23-11-17 16:29:03.000@ then
return -1
endi
if $data20 != @23-11-17 16:29:01.000@ then
return -1
endi
if $data30 != @23-11-17 16:29:00.000@ then
return -1
endi
if $data40 != NULL then
return -1
endi
if $data50 != NULL then
return -1
endi
if $data60 != NULL then
return -1
endi
if $data01 != NULL then
return -1
endi
if $data11 != NULL then
return -1
endi
if $data21 != NULL then
return -1
endi
if $data31 != @23-11-17 16:29:00.000@ then
return -1
endi
if $data41 != @23-11-17 16:29:02.000@ then
return -1
endi
if $data51 != @23-11-17 16:29:03.000@ then
return -1
endi
if $data61 != @23-11-17 16:29:04.000@ then
return -1
endi
sql select count(*) from tba1 a full join tba2 b on a.ts=b.ts;
if $rows != 1 then
return -1
endi
if $data00 != 6 then
return -1
endi
sql select count(a.*) from tba1 a full join tba2 b on a.ts=b.ts;
if $rows != 1 then
return -1
endi
if $data00 != 4 then
return -1
endi
sql select count(b.*) from tba1 a full join tba2 b on a.ts=b.ts;
if $rows != 1 then
return -1
endi
if $data00 != 4 then
return -1
endi