0
喂朋友,查詢來選擇不同的
我需要一個查詢扔在有桌子temp_invoice比較的錯誤消息。
應該比較PB_Responsbility表客戶領域[任務RESP#],對抗[PB-ID]字段= 3D
temp_invoice格式
Concession Number [Task resp#]
TH-123 12345
TH-014 98065
TH-123 41027
TH-567 12345
TH-111 99765
TH-567 41027
TH-228 73095
TH-001 09129
TH-779 41027
TH-333 01029
TH-722 03489
這應該覈對客戶是3D的數據庫表。
TABLE PB_Responsbility
[PB-ID] Customer
09129 3D
98065 AB
12345 DC
41027 ZH
99765 3D
73095 UZ
如果客戶沒有3D或如果[任務RESP#]未在表PB_Responsbility發現, 它應該拋出的消息,通過從選擇不同[任務RESP#] excel表格。
這裏所需要的輸出是「不正確的[任務RESP#]: - 。12345,98065,41027,73095,01029,03489
我寫的查詢,以便,
DECLARE @pb_id_msg VARCHAR(MAX)
SET @pb_id_msg = ''
SELECT @pb_id_msg = @pb_id_msg + ' ,'
+ CONVERT(VARCHAR(10),[Task resp#]) FROM temp_invoice WHERE [Task resp#] NOT IN
(SELECT [PB-ID] FROM PB_Responsbility WHERE Customer = '3D')
GROUP BY CONVERT(VARCHAR(10),[Task resp#]).
這根據需要產生的結果。但是,如果我修改與DISTINCT
SELECT DISTINCT @pb_id_msg = @pb_id_msg + ' ,'
+ CONVERT(VARCHAR(10),[Task resp#]) FROM temp_invoice WHERE [Task resp#] NOT IN
(SELECT [PB-ID] FROM PB_Responsbility WHERE Customer = '3D')
這導致只有1值查詢。請給我解釋一下,爲什麼具有鮮明的第二選擇查詢不工作?
它可能是「失敗」與DISTINCT出於同樣的原因是「失敗」與ORDER BY,http://www.sqlmag.com /article/sql-server/multi-row-variable-assignment-and-order-by.aspx – 2010-10-11 09:25:12
+1哇,Thanku非常..解釋給了我一個微笑。 – satya 2010-10-11 09:32:07