您好我有一個下表說價SQL在3行顯示有重複值的行
CostID ItemID Level EffectiveFrom EffectiveTo
6274751 12345 1 12/02/2013 NULL
6274751 12345 1 13/02/2013 NULL
6274751 12345 2 12/02/2013 NULL
6254784 12345 1 12/02/2013 NULL
6254784 12345 1 13/02/2013 NULL
6244784 12345 9 12/02/2013 NULL
我希望能夠編寫一個查詢通過比較3列「CostID'找到重複的行項目ID」和‘級別’,並顯示是重複的只有
預期輸出部分1
CostID ItemID Level EffectiveFrom EffectiveTo
6274751 12345 1 12/02/2013 NULL
6274751 12345 1 13/02/2013 NULL
6254784 12345 1 12/02/2013 NULL
6254784 12345 1 13/02/2013 NULL
一旦我得到上述結果的人,我想從最後的更新生效至表重複的行
的部分預期輸出2
CostID ItemID Level EffectiveFrom EffectiveTo
6274751 12345 1 12/02/2013 13/02/2013
6274751 12345 1 13/02/2013 NULL
6254784 12345 1 12/02/2013 13/02/2013
6254784 12345 1 13/02/2013 NULL
我嘗試這樣做:
{
SELECT *
FROM price
WHERE ItemID IN
( SELECT ItemID
FROM price
GROUP BY ItemId HAVING COUNT(distinct level) > 1
)
ORDER BY CostID }
用於查詢的第一部分,但不能得到我想要的結果,任何幫助將是非常感激。
感謝
你使用的是什麼sql? –
SQL Server 2005,感謝您對我進行格式化 – user2865216
有這麼多你想確定。請具體說明。請提供您的預期輸出。 –