Clickhouse: How to get join columns?

Created on 27 Feb 2017  ยท  2Comments  ยท  Source: ClickHouse/ClickHouse

e.g.:this is table t1 and t2 data.

:] select * from t1;

SELECT *
FROM t1 

โ”Œโ”€xโ”€โ”ฌโ”€yโ”€โ”€โ”€โ”
โ”‚ 1 โ”‚ aaa โ”‚
โ””โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”˜
โ”Œโ”€xโ”€โ”ฌโ”€yโ”€โ”€โ”€โ”
โ”‚ 2 โ”‚ bbb โ”‚
โ””โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”˜
โ†– Progress: 2.00 rows, 32.00 B (635.66 rows/s., 10.17 KB/s.) 
2 rows in set. Elapsed: 0.003 sec. 

:] select * from t2;

SELECT *
FROM t2 

โ”Œโ”€xโ”€โ”ฌโ”€yโ”€โ”€โ”€โ”€โ”
โ”‚ 2 โ”‚ bbbb โ”‚
โ””โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”Œโ”€xโ”€โ”ฌโ”€yโ”€โ”€โ”€โ”€โ”
โ”‚ 3 โ”‚ cccc โ”‚
โ””โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ†‘ Progress: 2.00 rows, 34.00 B (638.61 rows/s., 10.86 KB/s.) 
2 rows in set. Elapsed: 0.003 sec. 

I need select t1.x and t2.x,ClickHouse can't support alias . how to fix this problem

:] select x,y,y from (select x,y from t1) as t1  any inner  join (select x,y from t2) as t2 using x;

SELECT 
    x, 
    y, 
    y
FROM 
(
    SELECT 
        x, 
        y
    FROM t1 
) AS t1 
ANY INNER JOIN 
(
    SELECT 
        x, 
        y
    FROM t2 
) AS t2 USING (x)

โ”Œโ”€xโ”€โ”ฌโ”€yโ”€โ”€โ”€โ”€โ”ฌโ”€yโ”€โ”€โ”€โ”€โ”
โ”‚ 2 โ”‚ bbbb โ”‚ bbbb โ”‚
โ””โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ†— Progress: 4.00 rows, 42.00 B (370.81 rows/s., 3.89 KB/s.) 
1 rows in set. Elapsed: 0.011 sec. 

:] 
question

Most helpful comment

Here is a way to do it in ClickHouse:

:) SELECT x, y1, y2 FROM (SELECT x, y AS y1 FROM t1) ALL INNER JOIN (SELECT x, y AS y2 FROM t2) USING (x)

SELECT
    x,
    y1,
    y2
FROM
(
    SELECT
        x,
        y AS y1
    FROM t1
)
ALL INNER JOIN
(
    SELECT
        x,
        y AS y2
    FROM t2
) USING (x)

โ”Œโ”€xโ”€โ”ฌโ”€y1โ”€โ”ฌโ”€y2โ”€โ”
โ”‚ 1 โ”‚ t1 โ”‚ t2 โ”‚
โ””โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”˜

1 rows in set. Elapsed: 0.002 sec.

All 2 comments

:] select x,y,yy from (select x,y,y as yy from t1) as t1  any inner  join (select x,y from t2) as t2 using x;

SELECT 
    x, 
    y, 
    yy
FROM 
(
    SELECT 
        x, 
        y, 
        y AS yy
    FROM t1 
) AS t1 
ANY INNER JOIN 
(
    SELECT 
        x, 
        y
    FROM t2 
) AS t2 USING (x)

โ”Œโ”€xโ”€โ”ฌโ”€yโ”€โ”€โ”€โ”€โ”ฌโ”€yyโ”€โ”€โ”
โ”‚ 2 โ”‚ bbbb โ”‚ bbb โ”‚
โ””โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”˜
โ†’ Progress: 4.00 rows, 66.00 B (418.75 rows/s., 6.91 KB/s.) 
1 rows in set. Elapsed: 0.010 sec. 

:] 

My god...is very trouble. I need query this column again add alias .
This is very diff standard SQL

Here is a way to do it in ClickHouse:

:) SELECT x, y1, y2 FROM (SELECT x, y AS y1 FROM t1) ALL INNER JOIN (SELECT x, y AS y2 FROM t2) USING (x)

SELECT
    x,
    y1,
    y2
FROM
(
    SELECT
        x,
        y AS y1
    FROM t1
)
ALL INNER JOIN
(
    SELECT
        x,
        y AS y2
    FROM t2
) USING (x)

โ”Œโ”€xโ”€โ”ฌโ”€y1โ”€โ”ฌโ”€y2โ”€โ”
โ”‚ 1 โ”‚ t1 โ”‚ t2 โ”‚
โ””โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”˜

1 rows in set. Elapsed: 0.002 sec.
Was this page helpful?
0 / 5 - 0 ratings

Related issues

hatarist picture hatarist  ยท  3Comments

jimmykuo picture jimmykuo  ยท  3Comments

atk91 picture atk91  ยท  3Comments

jangorecki picture jangorecki  ยท  3Comments

igor-sh8 picture igor-sh8  ยท  3Comments