我想加入3個表中類似如下的方式:MySQL的:加入3個表,並選擇相同的行作爲別名
SELECT a.id
FROM tableA AS a
LEFT JOIN tableB AS b ON a.id = b.id
LEFT JOIN tableC AS c ON a.id = c.id
WHERE
b.name = c.name OR b.name IS NULL OR c.name IS NULL;
我不能肯定,該表B或C將有行加入,但如果兩者都有一行要加入,名稱列必須相同。
我的問題是:我想選擇這個名稱列,但我只想選擇它一次。所以,如果b和c有一行要加入,我想要它們中的任何一個的名字,如果只有一行有一行要加入,我想要那個行的名字。 結果中的列名應該在每種情況下都是相同的。
表實例
TABLEA
id
----
1
2
3
4
tableB的
id | name
----|------
2 | X
3 | Y
表C
id | name
----|------
2 | Q
3 | Y
4 | Z
期望的結果:
id | name
----|------
1 | (NULL)
2 | X (name is from tableB)
2 | Q (name is from tableC)
3 | Y (name is from tableB or tableC)
4 | Z (name is from tableC)
tableB的兩次提及。 – Strawberry
謝謝,我更正了它 – jacksbox