如何顯示來自兩個表(表A和表B)的重疊ID,以及兩個表中的唯一ID? 下面是示例代碼:顯示OUTER JOIN兩個表時的完整列表ID
SELECT A.ID AS ID
FROM A
FULL OUTER JOIN B ON A.ID = B.ID
我覺得有什麼東西我可以用SELECT
線做的,但我不知道怎麼辦。
如何顯示來自兩個表(表A和表B)的重疊ID,以及兩個表中的唯一ID? 下面是示例代碼:顯示OUTER JOIN兩個表時的完整列表ID
SELECT A.ID AS ID
FROM A
FULL OUTER JOIN B ON A.ID = B.ID
我覺得有什麼東西我可以用SELECT
線做的,但我不知道怎麼辦。
coalesce()
從一組參數中返回第一個非null
值。那是你在找什麼?
rextester演示:http://rextester.com/QYAZV8300
create table a (id int)
insert into a values (1),(3),(5)
create table b (id int)
insert into b values (2),(3),(4)
select
a.id as A_Id
, b.id as B_Id
, coalesce(a.id,b.id) as Id
from a
full join b
on a.id = b.id
回報:
+------+------+----+
| A_Id | B_Id | Id |
+------+------+----+
| 1 | NULL | 1 |
| 3 | 3 | 3 |
| 5 | NULL | 5 |
| NULL | 2 | 2 |
| NULL | 4 | 4 |
+------+------+----+
我其實只是想輸出一個ID列表結合了ID和B ID,以及我在示例代碼中忘記'FULL'的道歉。 –
@ Y.Z。像'coalesce(a.id,b.id)一樣Id''? – SqlZim
可以請你期望的結果一起發佈樣本源數據的幾行? – Eli