3
我需要找到所有記錄,FIRSTNAME是重複的,而LASTNAME是重複的,但城市對於名稱重複的記錄是不同的。僞變爲SQL? FirstName和LastName重複但City不同的所有記錄?
所以,我的數據是這樣的:
FirstName LastName CustomerFileLocation City
----------------------------------------------------------------------
Joe Smith c:\file1\File1.txt Dallas
Joe Jones c:\File2\File1.txt New York
Joe Smith c:\File3\File1.txt New Mexico City
Harry Smith c:\File4\File1.txt Boca Raton
Joe Smith c:\File3\File1.txt Dallas
Michael Smith c:\File1\File1.txt Dallas
我想查詢返回
Joe Smith c:\file1\File1.txt Dallas
Joe Smith c:\File3\File1.txt New Mexico City
我寫了下面找到匹配的名字和姓氏。但我不知道怎麼說「與城市不匹配」
SELECT
dbo.TblFileCache.FirstName, dbo.TblFileCache.LastName,
dbo.TblFileCache.ClaimFilePath, dbo.TblFileCache.Skip
FROM
dbo.TblFileCache
INNER JOIN
(SELECT
FirstName, LastName, COUNT(*) AS CountOf
FROM
dbo.TblFileCache AS tblFileCache_1
GROUP BY
FirstName, LastName
HAVING
(COUNT(*) > 1)) AS dt ON dbo.TblFileCache.FirstName = dt.FirstName
AND dbo.TblFileCache.LastName = dt.LastName
WHERE
(dbo.TblFileCache.Skip = 0)
ORDER BY
dbo.TblFileCache.FirstName, dbo.TblFileCache.LastName
爲什麼你的查詢只返回一行的「達拉斯」?數據中有兩行。 –
請詳細解釋一下。 1.首先,我們可以找到所有的行集,其中第一個名稱不止一次出現,並且姓氏不止一次出現。但是,也許你想要所有的行* pair *(名,姓)出現多次? 2.那麼你是否想要表中所有城市獨特的行中的行?或者每個集合中具有該集合所獨有的城市的行? 3.跳過和訂購怎麼樣? – philipxy
Re 2.或者也許可以通過「但城市與名稱重複的記錄不同」,您只是冗餘地指出,在具有相同名稱對的行中,城市可能不同? – philipxy