1
我想在PostgreSQL JOIN
兩個表9.5 ON
兩列:PostgreSQL的多功能使用列聯接包含空值
CREATE TABLE table_a (col1 INT, col2 INT, col3 TEXT);
CREATE TABLE table_b (col1 INT, col2 INT, col3 TEXT);
INSERT INTO table_a (col1, col2, col3)
VALUES (1, 2, 'foo'), (NULL, 3, 'foo');
INSERT INTO table_b (col1, col2, col3)
VALUES (1, 2, 'bar'), (NULL, 3, 'bar');
當我做加盟
SELECT a.col3, b.col3
FROM table_a a
LEFT JOIN table_b b
ON a.col1 = b.col1 AND
a.col2 = b.col2;
行與null
值沒有加入。
a.col3 | b.col3
---------------
foo | bar
foo | <null>
但是,我想要加入兩個列,即包括其中一個值爲空的那些列。所以在這個例子中應該有foo bar出現兩次。我怎麼能做這個工作?
類似'ON coalesce(a.col1,-1)= coalesce(b.col1,-1)AND a.col2 = b.col2' –
@a_horse_with_no_name完全有效。尼斯。關心接受的答案? – n1000