我想聯合兩個子查詢(比如SUB1和SUB2)的結果。子查詢具有多列,包括ID列。SQL組合聯盟和不包括
如果在SUB1中存在ID = 1,我希望聯合結果只包括來自SUB1的ID = 1的行,而不包括來自SUB2的ID = 1的行。
例如。如果SUB1有以下列和行
ID | Date
1 | 7/1
2 | 7/3
而且SUB2有以下幾點:
ID | Date
1 | 7/4
3 | 7/8
我想聯合的結果是
ID | Date
1 | 7/1
2 | 7/3
3 | 7/8
我能想到的唯一辦法在做這樣的事情
SELECT * FROM (SUB1)
UNION
SELECT * FROM (SUB2)
WHERE ID NOT IN
(SELECT ID FROM (SUB1))
我唯一擔心的是SUB1和SUB2是長查詢。我想避免在查詢中粘貼SUB1兩次。
有沒有更簡潔的方法?謝謝
謝謝,這個工程。 – David 2009-07-08 17:40:06