0
我有2個類似的表加入2個表格以獲取所有原料。獲取所有不同的連接列
CREATE TABLE arstel.b2b_join2(
id string
, name string
, col1 string
, col2 string
);
我填寫他們的數據。第一張桌子。
INSERT INTO TABLE arstel.b2b_join1 VALUES
("1", "a", "a1", "a2")
, ("2", "b", "b1", "b2")
, ("3", "c", "c1", "c2")
, ("4", "d", "d1", "d2");
Secnd表
INSERT INTO TABLE arstel.b2b_join2 VALUES
("1", "a", "a11", "a22")
, ("2", "b", "b11", "b22")
, ("5", "e", "e11", "e22")
, ("6", "f", "f11", "f22");
我查詢
SELECT
CASE WHEN a.id = NULL THEN b.id ELSE a.id END AS id
, CASE WHEN a.name = NULL THEN b.name ELSE a.name END AS name
, a.col1
, a.col2
, b.col1
, b.col2
FROM arstel.b2b_join1 a
FULL OUTER JOIN arstel.b2b_join2 b
ON a.id = b.id AND a.name = b.name;
返回從表a
所有的值,但不會從b
4 d d1 d2 NULL NULL
1 a a1 a2 a11 a22
NULL NULL NULL NULL e11 e22
2 b b1 b2 b11 b22
NULL NULL NULL NULL f11 f22
3 c c1 c2 NULL NULL
返回
id
和
name
其實我要的是
4 d d1 d2 NULL NULL
1 a a1 a2 a11 a22
5 e NULL NULL e11 e22
2 b b1 b2 b11 b22
6 f NULL NULL f11 f22
3 c c1 c2 NULL NULL
如何獲得呢?
我實際上在發佈問題後認爲是'null')但是不知道'coalesce'。謝謝 – Evgenii