我在一段時間內不必使用SQL查詢,而且看起來像一個簡單的查詢令我瘋狂。我有一張交易表,我試圖根據各種標準選擇重複。相關的表結構如下:SQL Select:獲取兩列或更多列相同的行
[Transaction]
* ID int
Transacted datetime
Name nvarchar(50)
Description nvarchar(4000)
size bigint
從這個表,我需要找到名稱/大小的複製品,並報告所有記錄的名字有相同的大小事務,就算日期和說明是不同的。我可以只用名字計數有以下:
SELECT Name, COUNT(Name) AS Count
FROM Transaction
GROUP BY Name
然後我可以做一個內部聯接上獲得數據的其餘部分:
SELECT data.ID, data.Transacted, data.Name, data.Description, data.Size, counts.Count
FROM (SELECT Name, COUNT(Name) AS Count
FROM Transaction
GROUP BY Name) AS counts
INNER JOIN Transaction AS data ON counts.Name = data.Name
WHERE (counts.Count > 1)
ORDER BY data.Name, data.Transacted
但很明顯,這是隻給我重複名稱的交易 - 而不是重複名稱和大小的地方。
我正在尋找幫助完成這件作品,以便報告所有數據,其中線條顯示相同名稱和相同尺寸的重複。我可以很容易地將兩欄中的數據合併爲一個結果並與之進行比較,但我不確定這是否是最佳的應用程序。
在此先感謝。
即使我得到一個OVER不支持的錯誤,這個工程很好。這似乎只是一個SQL設計器問題。我得到了正確的結果。非常感謝您的幫助! – tobint
@tobint - 是的,視覺設計師不喜歡一些新的語法。 –