簡體   English   中英

SQL查詢,查詢來自不同表的單個字段名稱

[英]SQL Query, query to having single field name from different table

我有兩個具有相同字段的表。 (請不要怪設計)。
下面僅用於示例架構

表A
ID
名稱
電話

表B
ID
名稱

地址

因此,我想從單個查詢中查詢滿足條件“鍵”的表A或B的ID,名稱,無論它來自表A還是表B,返回字段都只是“ ID”和“ NAME”
簡單查詢

在a.keys ='1'或b.keys ='1'的情況下,將TABELA中的a.id,a.name,b.id,b.name從TABELA選擇為a,將TABLEB選擇為b

它將重復的id,name,id1,name1返回到結果字段。

使用union或union all。 聯合僅返回不同的行,聯合全部返回所有行

請參閱工會手冊中的示例

SELECT a.id, a.name FROM TABELA as a WHERE a.keys = '1' 
union
SELECT b.id, b.name FROM TABELb as b WHERE b.keys = '1' 

使用UNION而不是CROSS JOIN

SELECT a.id, a.name
FROM TABELA as a
WHERE a.keys = '1'
UNION 
SELECT b.id, b.name 
FROM TABLEB as b
WHERE b.keys = '1'

您實際上並不是在聯接表,而是只想合並兩個不同查詢的結果。 為此,我們有UNION SELECT:

SELECT id, name FROM tableA
    WHERE keys = '1'
UNION SELECT id, name FROM tableB
    WHERE keys= '1'

如果要訂購結果,可以將上面用作子查詢。

暫無
暫無

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

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