TDengine/test/cases/14-JoinQueries/joinConst/left_outer.now.csv.tmp2

446 lines
26 KiB
Text

taos> use test;
Database changed.
taos> select * from a1 a left join (select now as ts, f, g, 'a' from b1) b on a.ts = b.ts;
ts | f | g | ts | f | g | 'a' |
==================================================================================================================
2025-10-22 00:00:00.000 | 101 | 1011 | NULL | NULL | NULL | NU. |
2025-10-22 00:00:01.000 | 102 | 1012 | NULL | NULL | NULL | NU. |
2025-10-23 00:00:00.000 | 103 | 1013 | NULL | NULL | NULL | NU. |
2025-10-23 00:00:02.000 | 104 | 1014 | NULL | NULL | NULL | NU. |
taos> select * from a1 a left join (select now as ts1, f, g, 'a' from b1) b on a.ts = b.ts1;
ts | f | g | ts1 | f | g | 'a' |
==================================================================================================================
2025-10-22 00:00:00.000 | 101 | 1011 | NULL | NULL | NULL | NU. |
2025-10-22 00:00:01.000 | 102 | 1012 | NULL | NULL | NULL | NU. |
2025-10-23 00:00:00.000 | 103 | 1013 | NULL | NULL | NULL | NU. |
2025-10-23 00:00:02.000 | 104 | 1014 | NULL | NULL | NULL | NU. |
taos> select a.* from a1 a left join (select now as ts, f, g, 'a' from b1) b on a.ts = b.ts;
ts | f | g |
======================================================
2025-10-22 00:00:00.000 | 101 | 1011 |
2025-10-22 00:00:01.000 | 102 | 1012 |
2025-10-23 00:00:00.000 | 103 | 1013 |
2025-10-23 00:00:02.000 | 104 | 1014 |
taos> select b.* from a1 a left join (select now as ts, f, g, 'a' from b1) b on a.ts = b.ts;
ts | f | g | 'a' |
============================================================
NULL | NULL | NULL | NU. |
NULL | NULL | NULL | NU. |
NULL | NULL | NULL | NU. |
NULL | NULL | NULL | NU. |
taos> select b.* from a1 a left join (select now as ts1, f, g, 'a' from b1) b on a.ts = b.ts1;
ts1 | f | g | 'a' |
============================================================
NULL | NULL | NULL | NU. |
NULL | NULL | NULL | NU. |
NULL | NULL | NULL | NU. |
NULL | NULL | NULL | NU. |
taos> select a.*, b.ts from a1 a left join (select now as ts1,ts, f, g, 'a' from b1) b on a.ts = b.ts1;
ts | f | g | ts |
================================================================================
2025-10-22 00:00:00.000 | 101 | 1011 | NULL |
2025-10-22 00:00:01.000 | 102 | 1012 | NULL |
2025-10-23 00:00:00.000 | 103 | 1013 | NULL |
2025-10-23 00:00:02.000 | 104 | 1014 | NULL |
taos> select b.c from a1 a left join (select now as ts, f, g, 'a' c from b1) b on a.ts = b.ts;
c |
======
NU. |
NU. |
NU. |
NU. |
taos> select b.ts from a1 a left join (select now as ts, f, g, 'a' c from b1) b on a.ts = b.ts;
ts |
==========================
NULL |
NULL |
NULL |
NULL |
taos> select * from a1 a left join (select now as ts1, ts, f, g, 'a' from b1) b on b.ts1 = a.ts;
ts | f | g | ts1 | ts | f | g | 'a' |
============================================================================================================================================
2025-10-22 00:00:00.000 | 101 | 1011 | NULL | NULL | NULL | NULL | NU. |
2025-10-22 00:00:01.000 | 102 | 1012 | NULL | NULL | NULL | NULL | NU. |
2025-10-23 00:00:00.000 | 103 | 1013 | NULL | NULL | NULL | NULL | NU. |
2025-10-23 00:00:02.000 | 104 | 1014 | NULL | NULL | NULL | NULL | NU. |
taos> select a.* from a1 a left join (select now as ts1, ts, f, g, 'a' from b1) b on b.ts1 = a.ts;
ts | f | g |
======================================================
2025-10-22 00:00:00.000 | 101 | 1011 |
2025-10-22 00:00:01.000 | 102 | 1012 |
2025-10-23 00:00:00.000 | 103 | 1013 |
2025-10-23 00:00:02.000 | 104 | 1014 |
taos> select b.* from a1 a left join (select now as ts1, ts, f, g, 'a' from b1) b on b.ts1 = a.ts;
ts1 | ts | f | g | 'a' |
======================================================================================
NULL | NULL | NULL | NULL | NU. |
NULL | NULL | NULL | NULL | NU. |
NULL | NULL | NULL | NULL | NU. |
NULL | NULL | NULL | NULL | NU. |
taos> select b.c from a1 a left join (select now as ts1, ts, f, g, 'a' c from b1) b on b.ts1 = a.ts;
c |
======
NU. |
NU. |
NU. |
NU. |
taos> select a.* from a1 a left join (select now as ts1, ts, f, g, 'a' c from b1) b on b.ts = a.ts;
ts | f | g |
======================================================
2025-10-22 00:00:00.000 | 101 | 1011 |
2025-10-22 00:00:01.000 | 102 | 1012 |
2025-10-23 00:00:00.000 | 103 | 1013 |
2025-10-23 00:00:02.000 | 104 | 1014 |
taos> select b.ts1,a.ts from a1 a left join (select now as ts1, f, g, 'a' c from b1) b on b.ts1 = a.ts;
ts1 | ts |
====================================================
NULL | 2025-10-22 00:00:00.000 |
NULL | 2025-10-22 00:00:01.000 |
NULL | 2025-10-23 00:00:00.000 |
NULL | 2025-10-23 00:00:02.000 |
taos> select a.* from a1 a left join (select now as ts1, ts, f, g, 'a' from b1) b on a.ts = b.ts;
ts | f | g |
======================================================
2025-10-22 00:00:00.000 | 101 | 1011 |
2025-10-22 00:00:01.000 | 102 | 1012 |
2025-10-23 00:00:00.000 | 103 | 1013 |
2025-10-23 00:00:02.000 | 104 | 1014 |
taos> select b.c from a1 a left join (select now as ts1, ts, f, g, 'a' c from b1) b on a.ts = b.ts;
c |
======
a |
a |
a |
a |
taos> select b.ts from a1 a left join (select now as ts1, ts, f, g, 'a' c from b1) b on a.ts = b.ts;
ts |
==========================
2025-10-22 00:00:00.000 |
2025-10-22 00:00:01.000 |
2025-10-23 00:00:00.000 |
2025-10-23 00:00:02.000 |
taos> select * from a1 a left join (select now as ts1, ts, f, g, 'a' from b1) b on b.ts1 = a.ts and a.ts = b.ts;
ts | f | g | ts1 | ts | f | g | 'a' |
============================================================================================================================================
2025-10-22 00:00:00.000 | 101 | 1011 | NULL | NULL | NULL | NULL | NU. |
2025-10-22 00:00:01.000 | 102 | 1012 | NULL | NULL | NULL | NULL | NU. |
2025-10-23 00:00:00.000 | 103 | 1013 | NULL | NULL | NULL | NULL | NU. |
2025-10-23 00:00:02.000 | 104 | 1014 | NULL | NULL | NULL | NULL | NU. |
taos> select a.* from a1 a left join (select now as ts1, ts, f, g, 'a' from b1) b on b.ts1 = a.ts and a.ts = b.ts;
ts | f | g |
======================================================
2025-10-22 00:00:00.000 | 101 | 1011 |
2025-10-22 00:00:01.000 | 102 | 1012 |
2025-10-23 00:00:00.000 | 103 | 1013 |
2025-10-23 00:00:02.000 | 104 | 1014 |
taos> select b.* from a1 a left join (select now as ts1, ts, f, g, 'a' from b1) b on b.ts1 = a.ts and a.ts = b.ts;
ts1 | ts | f | g | 'a' |
======================================================================================
NULL | NULL | NULL | NULL | NU. |
NULL | NULL | NULL | NULL | NU. |
NULL | NULL | NULL | NULL | NU. |
NULL | NULL | NULL | NULL | NU. |
taos> select b.c from a1 a left join (select now as ts1, ts, f, g, 'a' c from b1) b on b.ts1 = a.ts and a.ts = b.ts;
c |
======
NU. |
NU. |
NU. |
NU. |
taos> select b.ts from a1 a left join (select now as ts1, ts, f, g, 'a' c from b1) b on b.ts1 = a.ts and a.ts = b.ts;
ts |
==========================
NULL |
NULL |
NULL |
NULL |
taos> select * from a1 a left join (select now as ts1, ts, f, g, 'a' from b1) b on b.ts = a.ts and a.ts = b.ts1;
ts | f | g | ts1 | ts | f | g | 'a' |
============================================================================================================================================
2025-10-22 00:00:00.000 | 101 | 1011 | NULL | NULL | NULL | NULL | NU. |
2025-10-22 00:00:01.000 | 102 | 1012 | NULL | NULL | NULL | NULL | NU. |
2025-10-23 00:00:00.000 | 103 | 1013 | NULL | NULL | NULL | NULL | NU. |
2025-10-23 00:00:02.000 | 104 | 1014 | NULL | NULL | NULL | NULL | NU. |
taos> select a.* from a1 a left join (select now as ts1, ts, f, g, 'a' from b1) b on b.ts = a.ts and a.ts = b.ts1;
ts | f | g |
======================================================
2025-10-22 00:00:00.000 | 101 | 1011 |
2025-10-22 00:00:01.000 | 102 | 1012 |
2025-10-23 00:00:00.000 | 103 | 1013 |
2025-10-23 00:00:02.000 | 104 | 1014 |
taos> select b.* from a1 a left join (select now as ts1, ts, f, g, 'a' from b1) b on b.ts = a.ts and a.ts = b.ts1;
ts1 | ts | f | g | 'a' |
======================================================================================
NULL | NULL | NULL | NULL | NU. |
NULL | NULL | NULL | NULL | NU. |
NULL | NULL | NULL | NULL | NU. |
NULL | NULL | NULL | NULL | NU. |
taos> select b.c from a1 a left join (select now as ts1, ts, f, g, 'a' c from b1) b on b.ts = a.ts and a.ts = b.ts1;
c |
======
NU. |
NU. |
NU. |
NU. |
taos> select b.ts from a1 a left join (select now as ts1, ts, f, g, 'a' c from b1) b on b.ts = a.ts and a.ts = b.ts1;
ts |
==========================
NULL |
NULL |
NULL |
NULL |
taos> select b.ts from (select now as ts1, ts, f, g, 'a' c from a1) a left join (select now as ts1, ts, f, g, 'a' c from b1) b on b.ts = a.ts and a.ts = b.ts1;
ts |
==========================
NULL |
NULL |
NULL |
NULL |
taos> select b.ts from (select now as ts1, ts, f, g, 'a' c from a1) a left join (select now as ts1, ts, f, g, 'a' c from b1) b on b.ts = a.ts and a.ts = b.ts1;
ts |
==========================
NULL |
NULL |
NULL |
NULL |
taos> select * from (select last(ts) as `ts`,last(f) as `val`,tg1 from sta where tg1=1 partition by tg1 order by ts) ta left join (select now ts, last(f) val, tg1 from stb where tg1 >= 0 partition by tg1 order by ts) tb on ta.ts=tb.ts and ta.tg1=tb.tg1;
ts | val | tg1 | ts | val | tg1 |
============================================================================================================
2025-10-23 00:00:03.000 | 204 | 1 | NULL | NULL | NULL |
taos> select * from (select last(ts) as `ts`,last(f) as `val`,tg2 from sta where tg2>0 partition by tg2 order by ts) ta left join (select now ts, last(f) val, tg2 from stb where tg2 >= 0 partition by tg2 order by ts) tb on ta.ts=tb.ts and ta.tg2=tb.tg2;
ts | val | tg2 | ts | val | tg2 |
============================================================================================================
2025-10-23 00:00:02.000 | 104 | 1 | NULL | NULL | NULL |
2025-10-23 00:00:03.000 | 204 | 2 | NULL | NULL | NULL |
taos> select * from (select last(ts) as `ts`,last(f) as `val`,tg2 from sta where tg2>0 partition by tg2 interval(1s) order by ts) ta left join (select now ts, last(f) val, tg2 from stb where tg2 >= 0 partition by tg2 interval(1s) order by ts) tb on ta.ts=tb.ts and ta.tg2=tb.tg2 order by ta.val;
ts | val | tg2 | ts | val | tg2 |
============================================================================================================
2025-10-22 00:00:00.000 | 101 | 1 | NULL | NULL | NULL |
2025-10-22 00:00:01.000 | 102 | 1 | NULL | NULL | NULL |
2025-10-23 00:00:00.000 | 103 | 1 | NULL | NULL | NULL |
2025-10-23 00:00:02.000 | 104 | 1 | NULL | NULL | NULL |
2025-10-22 00:00:00.000 | 201 | 2 | NULL | NULL | NULL |
2025-10-22 00:00:01.000 | 202 | 2 | NULL | NULL | NULL |
2025-10-23 00:00:00.000 | 203 | 2 | NULL | NULL | NULL |
2025-10-23 00:00:03.000 | 204 | 2 | NULL | NULL | NULL |
taos> select * from (select last(ts) as `ts`,last(f) as `val`,tg2 from sta where tg2>0 partition by tg2 interval(1s) order by ts) ta left join (select now ts, last(f) val, tg2 from stb where tg2 >= 0 partition by tg2 interval(1s) order by ts desc) tb on ta.ts=tb.ts and ta.tg2=tb.tg2 and tb.ts=now where tb.ts=now order by tb.val;
taos> select * from (select last(ts) as `ts`,last(f) as `val`,tg2 from sta where tg2>0 partition by tg2 interval(1s) order by ts) ta left join (select now ts, last(f) val, tg2 from stb where tg2 >= 0 partition by tg2 interval(1s) order by ts desc) tb on ta.ts=tb.ts and ta.tg2=tb.tg2 and tb.ts>now where tb.ts>now;
taos> select * from (select last(ts) as `ts`,last(f) as `val`,tg2 from sta where tg2>0 partition by tg2 order by ts) ta left join (select today() + 1d +3s ts, last(f) val, tg2 from stb where tg2 >= 0 partition by tg2 order by ts) tb on ta.ts=tb.ts and ta.tg2=tb.tg2;
ts | val | tg2 | ts | val | tg2 |
============================================================================================================
2025-10-23 00:00:02.000 | 104 | 1 | NULL | NULL | NULL |
2025-10-23 00:00:03.000 | 204 | 2 | 2025-10-23 00:00:03.000 | 404 | 2 |
taos> select a.* from (select now as ts, f, g, 'a' from b1) b left join a1 a on a.ts = b.ts;
ts | f | g |
======================================================
NULL | NULL | NULL |
NULL | NULL | NULL |
NULL | NULL | NULL |
NULL | NULL | NULL |
taos> select b.c from (select now as ts, f, g, 'a' c from b1) b left join a1 a on a.ts = b.ts;
c |
======
a |
a |
a |
a |
taos> select b.g from (select now as ts, f, g, 'a' c from b1) b left join a1 a on a.ts = b.ts;
g |
==============
3011 |
3012 |
3013 |
3014 |
taos> select a.* from (select now as ts1, ts, f, g, 'a' from b1) b left join a1 a on b.ts1 = a.ts;
ts | f | g |
======================================================
NULL | NULL | NULL |
NULL | NULL | NULL |
NULL | NULL | NULL |
NULL | NULL | NULL |
taos> select b.c from (select now as ts1, ts, f, g, 'a' c from b1) b left join a1 a on b.ts1 = a.ts;
c |
======
a |
a |
a |
a |
taos> select b.c from (select now as ts1, f, g, 'a' c from b1) b left join a1 a on b.ts1 = a.ts;
c |
======
a |
a |
a |
a |
taos> select a.* from (select now as ts1, ts, f, g, 'a' from b1) b left join a1 a on a.ts = b.ts;
ts | f | g |
======================================================
2025-10-22 00:00:00.000 | 101 | 1011 |
2025-10-22 00:00:01.000 | 102 | 1012 |
2025-10-23 00:00:00.000 | 103 | 1013 |
2025-10-23 00:00:02.000 | 104 | 1014 |
taos> select b.c from (select now as ts1, ts, f, g, 'a' c from b1) b left join a1 a on a.ts = b.ts;
c |
======
a |
a |
a |
a |
taos> select b.ts,a.* from (select now as ts1, ts, f, g, 'a' c from b1) b left join a1 a on a.ts = b.ts;
ts | ts | f | g |
================================================================================
2025-10-22 00:00:00.000 | 2025-10-22 00:00:00.000 | 101 | 1011 |
2025-10-22 00:00:01.000 | 2025-10-22 00:00:01.000 | 102 | 1012 |
2025-10-23 00:00:00.000 | 2025-10-23 00:00:00.000 | 103 | 1013 |
2025-10-23 00:00:02.000 | 2025-10-23 00:00:02.000 | 104 | 1014 |
taos> select a.*,b.ts from (select now as ts1, ts, f, g, 'a' from b1) b left join a1 a on b.ts1 = a.ts and a.ts = b.ts;
ts | f | g | ts |
================================================================================
NULL | NULL | NULL | 2025-10-22 00:00:00.000 |
NULL | NULL | NULL | 2025-10-22 00:00:01.000 |
NULL | NULL | NULL | 2025-10-23 00:00:00.000 |
NULL | NULL | NULL | 2025-10-23 00:00:02.000 |
taos> select a.* from (select now as ts1, ts, f, g, 'a' from b1) b left join a1 a on b.ts1 = a.ts and a.ts = b.ts;
ts | f | g |
======================================================
NULL | NULL | NULL |
NULL | NULL | NULL |
NULL | NULL | NULL |
NULL | NULL | NULL |
taos> select b.ts,b.f from (select now as ts1, ts, f, g, 'a' from b1) b left join a1 a on b.ts1 = a.ts and a.ts = b.ts;
ts | f |
========================================
2025-10-22 00:00:00.000 | 301 |
2025-10-22 00:00:01.000 | 302 |
2025-10-23 00:00:00.000 | 303 |
2025-10-23 00:00:02.000 | 304 |
taos> select b.c from (select now as ts1, ts, f, g, 'a' c from b1) b left join a1 a on b.ts1 = a.ts and a.ts = b.ts;
c |
======
a |
a |
a |
a |
taos> select b.ts from (select now as ts1, ts, f, g, 'a' c from b1) b left join a1 a on b.ts1 = a.ts and a.ts = b.ts;
ts |
==========================
2025-10-22 00:00:00.000 |
2025-10-22 00:00:01.000 |
2025-10-23 00:00:00.000 |
2025-10-23 00:00:02.000 |
taos> select b.ts, a.* from (select now as ts1, ts, f, g, 'a' from b1) b left join a1 a on b.ts = a.ts and a.ts = b.ts1;
ts | ts | f | g |
================================================================================
2025-10-22 00:00:00.000 | NULL | NULL | NULL |
2025-10-22 00:00:01.000 | NULL | NULL | NULL |
2025-10-23 00:00:00.000 | NULL | NULL | NULL |
2025-10-23 00:00:02.000 | NULL | NULL | NULL |
taos> select a.* from (select now as ts1, ts, f, g, 'a' from b1) b left join a1 a on b.ts = a.ts and a.ts = b.ts1;
ts | f | g |
======================================================
NULL | NULL | NULL |
NULL | NULL | NULL |
NULL | NULL | NULL |
NULL | NULL | NULL |
taos> select b.g from (select now as ts1, ts, f, g, 'a' from b1) b left join a1 a on b.ts = a.ts and a.ts = b.ts1;
g |
==============
3011 |
3012 |
3013 |
3014 |
taos> select b.c from (select now as ts1, ts, f, g, 'a' c from b1) b left join a1 a on b.ts = a.ts and a.ts = b.ts1;
c |
======
a |
a |
a |
a |
taos> select b.ts from (select now as ts1, ts, f, g, 'a' c from b1) b left join a1 a on b.ts = a.ts and a.ts = b.ts1;
ts |
==========================
2025-10-22 00:00:00.000 |
2025-10-22 00:00:01.000 |
2025-10-23 00:00:00.000 |
2025-10-23 00:00:02.000 |
taos> select tb.val,tb.tg1,ta.* from (select now ts, last(f) val, tg1 from stb where tg1 >= 0 partition by tg1 order by ts) tb left join (select last(ts) as `ts`,last(f) as `val`,tg1 from sta where tg1=1 partition by tg1 order by ts) ta on ta.ts=tb.ts and ta.tg1=tb.tg1;
val | tg1 | ts | val | tg1 |
==================================================================================
404 | 1 | NULL | NULL | NULL |
taos> select tb.val,tb.tg2,ta.* from (select now ts, last(f) val, tg2 from stb where tg2 >= 0 partition by tg2 order by ts) tb left join (select last(ts) as `ts`,last(f) as `val`,tg2 from sta where tg2>0 partition by tg2 order by ts) ta on ta.ts=tb.ts and ta.tg2=tb.tg2;
val | tg2 | ts | val | tg2 |
==================================================================================
304 | 1 | NULL | NULL | NULL |
404 | 2 | NULL | NULL | NULL |
taos> select tb.val,tb.tg2,ta.* from (select now ts, last(f) val, tg2 from stb where tg2 >= 0 partition by tg2 interval(1s) order by ts) tb left join (select last(ts) as `ts`,last(f) as `val`,tg2 from sta where tg2>0 partition by tg2 interval(1s) order by ts) ta on ta.ts=tb.ts and ta.tg2=tb.tg2 order by tb.val;
val | tg2 | ts | val | tg2 |
==================================================================================
301 | 1 | NULL | NULL | NULL |
302 | 1 | NULL | NULL | NULL |
303 | 1 | NULL | NULL | NULL |
304 | 1 | NULL | NULL | NULL |
401 | 2 | NULL | NULL | NULL |
402 | 2 | NULL | NULL | NULL |
403 | 2 | NULL | NULL | NULL |
404 | 2 | NULL | NULL | NULL |
taos> select * from (select now ts, last(f) val, tg2 from stb where tg2 >= 0 partition by tg2 interval(1s) order by ts desc) tb left join (select last(ts) as `ts`,last(f) as `val`,tg2 from sta where tg2>0 partition by tg2 interval(1s) order by ts) ta on ta.ts=tb.ts and ta.tg2=tb.tg2 and tb.ts>now where tb.ts>now;