[英]SQL- JOIN two column from two tables
我需要幫助來制定查詢。 我想從表A和表B中選擇所有DISTINCT顏色。
這是查詢的結果:
BLACK
RED
YELLOW
BLUE
我有這些表:
表A
ID NAME COLOR
5 SOCKS BLACK
4 SOCKS RED
表B
ID NAME COLOR
0 CAR BLUE
1 BIKE BLUE
5 TRUCK YELLOW
10 PLANE NULL
我努力了:
SELECT DISTINCT A.color FROM A JOIN B ON b.color
但是我沒有得到所有的顏色。 :(
SELECT color FROM A
UNION
SELECT color FROM B
WHERE color IS NOT NULL -- only filters NULL from B
ORDER BY color -- sorts all rows
UNION
(而不是UNION ALL
)刪除重復項。 無需其他子查詢或DISTINCT
。
SELECT
A.Color FROM TableA A
WHERE A.Color IS NOT NULL
UNION
SELECT
B.Color FROM TableB B
WHERE B.Color IS NOT NULL
我刪除了DISTINCT,因為將它與UNION結合使用時沒有必要-我總是會忘記這一點!
嘗試:
SELECT DISTINCT Color
FROM (
SELECT Color FROM TableA
UNION ALL
SELECT Color FROM TableB
) Colors
WHERE NOT Color IS NULL
http://sqlfiddle.com/#!2/0de4d/5
SELECT distinct
COLOR
FROM
(
select color from TableA
UNION
select color from TableB
) tmp
WHERE color IS NOT NULL
order by color
編輯以刪除空值
全面披露-SQL Fiddle是我的網站
SELECT DISTINCT color FROM ( ( (SELECT color FROM A WHERE color IS NOT NULL) UNION (SELECT color FROM B WHERE color IS NOT NULL) ) AS temp )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.