Select

選擇超過 2 個選擇查詢

  • May 23, 2017

我有兩張桌子:

工作:

id  w_date        other stuff
1   2017-05-10
1   2017-05-08
3   2017-05-17

家:

id  h_date       other stuff
1   2017-05-01
4   2017-05-06
1   2017-05-14

現在我需要一個查詢來獲取 id 為 1 的所有日期。

就像是:

Select * 
from (
   select w_date as date 
   from work where id=1
), 
 (select h_date as date from home where id=1)

結果應該是:

id  date
1   2017-05-01
1   2017-05-08
1   2017-05-10
1   2017-05-14

有任何想法嗎?

這是一個簡單的UNION查詢:

SELECT id, date
FROM work
WHERE id = 1 
UNION ALL
SELECT id, date
FROM home
WHERE id = 1
ORDER BY date;

我使用了UNION ALL從兩個源表返回所有行的語法。保留ALL關鍵字可確保在兩個表中重複的行僅返回一次。

ORDER BY在查詢末尾添加了一個子句,以日期升序返回列表,因為您的範例數據似乎表明了這一點。

有關詳細資訊,請參閱Wikipedia 條目

引用自:https://dba.stackexchange.com/questions/174320