[英]SQL display all (including original) duplicates IF distinct value in a field
我正在使用Access 2007和SQL的新手。 我有一個表,希望在其中標識客戶名稱和零件編號匹配但位置不匹配的任何行。 如果相同的零件是由同一客戶訂購但發送到另一個地點的,則該應用程序可以輕松識別價格差異。 如果我不包括最后一行代碼,我的查詢將返回以下信息:
CustomerNumber CompanyName PartNumber CustomerName Location SumOfQuantity AvgOfPrice
5 Prestige 1000-A-26631-0 FINLAND OY FINLAND 1 $5.00
5 Prestige 1000-A-26631-0 FINLAND OY KARHULA 2 $10.00
15 Prestige 1000-A-29230-0 Portland (US) 2 $15.00
3 Prestige 1000-A-29230-0 BARBOU BARBOU 2 $5.00
9 Prestige 1000-A-29230-0 MEXICO MEXICO 6 $20.00
前兩行正是我要尋找的。 CustomerName和PartNumber匹配,但是位置不同。 但是,我的查詢還返回了PartNumbers匹配的行,但是CustomerNames不匹配。 我相信我也必須為CustomerName添加一個類似的Group By,HAVING COUNT語句,但是出現語法錯誤。 我認為解決方案非常簡單,但是還無法解決。 誰能幫助您確定我為什么會收到錯誤消息?
SQL:
SELECT [2-B: Avg Prices by Customer].[Customer Number], [2-B: Avg Prices by Customer].[Company Name], *
FROM [2-B: Avg Prices by Customer]
WHERE ((([2-B: Avg Prices by Customer].[Company Name])=[Forms]![Start Form]![Combo73]))
OR ((([2-B: Avg Prices by Customer].[Company Name])=[Forms]![Start Form]![List67])
AND (([2-B: Avg Prices by Customer].[Part Number]) In
(SELECT [Part Number] FROM [2-B: Avg Prices by Customer]
GROUP BY [Part Number] HAVING COUNT([Part Number]) >1)),
[Customer Name] HAVING COUNT([Customer Name])>1))); ------ > **Syntax error here, missing operator**
SELECT
CustomerName,
PartNumber
FROM [2-B: Avg Prices by Customer] p
GROUP BY CustomerName,PartNumber
HAVING COUNT(DISTINCT Location) > 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.