mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-10 09:32:06 +00:00
44 lines
1.3 KiB
SQL
44 lines
1.3 KiB
SQL
-- https://github.com/ClickHouse/ClickHouse/issues/56287
|
|
SET allow_experimental_analyzer = 1;
|
|
DROP TABLE IF EXISTS tmp_a;
|
|
DROP TABLE IF EXISTS tmp_b;
|
|
|
|
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_a
|
|
(
|
|
k1 Int32,
|
|
k2 Int32,
|
|
d1 Int32,
|
|
d2 Int32
|
|
) ENGINE = Memory;
|
|
INSERT INTO tmp_a VALUES (1,2,3,4);
|
|
INSERT INTO tmp_a VALUES (5,6,7,8);
|
|
|
|
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_b (
|
|
k1 Int32,
|
|
k2 Int32,
|
|
d0 Float64
|
|
) ENGINE = Memory;
|
|
INSERT INTO tmp_b VALUES (1,2,0.3);
|
|
INSERT INTO tmp_b VALUES (5,6,0.4);
|
|
|
|
SELECT tb1.*,tb2.*
|
|
FROM
|
|
(
|
|
with tmp0 as (select k1,k2,d1 from tmp_a),
|
|
tmp_s as (select k1,k2,d0 from tmp_b),
|
|
tmp1 as (select tmp0.*,tmp_s.d0 from tmp0 left join tmp_s on tmp0.k1=tmp_s.k1 and tmp0.k2=tmp_s.k2)
|
|
select * from tmp1
|
|
) as tb1
|
|
LEFT JOIN
|
|
(
|
|
with tmp0 as (select k1,k2,d2 from tmp_a),
|
|
tmp_s as (select k1,k2,d0 from tmp_b),
|
|
tmp1 as (select tmp0.*,tmp_s.d0 from tmp0 left join tmp_s on tmp0.k1=tmp_s.k1 and tmp0.k2=tmp_s.k2)
|
|
select * from tmp1
|
|
) as tb2
|
|
ON tb1.k1=tb2.k1 AND tb1.k2=tb2.k2
|
|
ORDER BY k1;
|
|
|
|
DROP TABLE IF EXISTS tmp_a;
|
|
DROP TABLE IF EXISTS tmp_b;
|