我有許多表從所有記錄的客戶ID,最後一個訂單日期和該訂單總計$,段名稱中過濾。每個過濾器都基於不同的標準,但是,相同的客戶ID可以屬於兩個不同的表格,兩個不同的部分。同一個ID在Last Order和Total in中會有不同的值。段,表名稱是A,B,C,D。來自多個表的SQL查詢結果沒有重複
我需要以組中沒有重複ID的方式對所有段表中的記錄進行分組。即:如果一個ID出現在多個表中(比如ID 2在表A和B中),結果集必須顯示來自第一個表A的ID列。
所以我需要列出所有來自分段A表的記錄和它們的列值,來自分段B表的所有記錄和它的值的列表,除了分段B表中的任何ID在分段A中以及來自分段C表的所有記錄的列表(除了來自分段A的ID C在A或B表中。我希望它確實有道理。
我聽起來像是70-461考試中的一個問題:D我對它進行了相當徹底的研究,但也許我沒有看到如何提出這些問題。我想知道是否有人想知道如何構建查詢來獲得結果。非常感謝您的任何建議。
謝謝你們。我似乎無法發佈截圖。讓我嘗試通過html鍵入它。有更多的細分表,但只需輸入兩個給你一個想法。多謝你們!
Segment A
----------------------------------------
ID | Last Order Date | Total | Segment
----------------------------------------
1 | 01/01/2012 | $1 | A
----------------------------------------
2 | 01/01/2012 | $1 | A
----------------------------------------
3 | 01/01/2012 | $5 | A
----------------------------------------
6 | 01/01/2012 | $7 | A
----------------------------------------
8 | 01/01/2012 | $8 | A
Segment B
ID | Last Order Date | Total | Segment
--------------------------------------
4 | 01/01/2010 | $3 | B
--------------------------------------
2 | 01/01/2010 | $5 | B
--------------------------------------
1 | 01/01/2010 | $2 | B
--------------------------------------
3 | 01/01/2010 | $1 | B
--------------------------------------
5 | 01/01/2010 | $7 | B
Result Set
ID | Last Order Date | Total | Segment
--------------------------------------
1 | 01/01/2012 | $1 | A
--------------------------------------
2 | 01/01/2012 | $1 | A
--------------------------------------
3 | 01/01/2012 | $5 | A
--------------------------------------
4 | 01/01/2010 | $3 | B
--------------------------------------
5 | 01/01/2010 | $7 | B
這將是更快,如果你會告訴我們的表和字段,樣本數據和所需的輸出。此外,您還應該表明自己爲找到解決方案付出了多少努力,例如您嘗試過哪些查詢。 –
看來,這是爲[UNION(http://msdn.microsoft.com/en-us/library/ms180026%28v=sql.100%29.aspx)語句的完美方案。 – wdosanjos