簡體   English   中英

UNION ALL 2表,但不同的列

[英]UNION ALL 2 tables but different columns

我正在嘗試從2張桌子組成一個聯合。 兩者都包含相同的列,但其中之一除外。

例如:

表A:

姓名,姓氏,電話

表B:

名稱,姓氏,其他

我想從兩個表中建立一個聯合,並按姓氏列對其進行排序。 工作正常。

但是,現在我想知道何時一行來自第一個表或第二個表。 我認為結果將包含Name,sname,phone,otherColumn,但僅包含phone,並且在該列中保留兩個結果。

有沒有辦法保留這兩列並在不存在時用空值填充?

現在,這是我的查詢:

SELECT id, name, surname ai, phone FROM tableA WHERE status = 0

UNION ALL

SELECT id, name, surname ai, other FROM signedupLocal WHERE status = 0

ORDER BY ai ASC

嘗試這個...

SELECT id, name, surname ai,phone, NULL  as other FROM tableA WHERE status = 0

UNION ALL

SELECT id, name, surname ai, NULL as phone, other FROM signedupLocal WHERE status = 0

ORDER BY ai ASC

您可以為其他表格中缺少的字段創建空白的臨時列,例如

SELECT id, name, surname, phone, '' as other FROM TableA WHERE status = 0 
UNION ALL 
SELECT id, name, surname,'' as phone,otherColumn FROM TableB WHERE status = 0 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM