我有一張表,我試圖使用公共表表達式來查找重複行。是我工作的字段如下:CTE沒有返回預期值
LOGTIME(數據類型:DATETIME2(7),NULL) ControllerIP(數據類型:nvchar(最大值),NULL)
我有兩行數據是有據我所知,它們中的數據相同。我對兩列進行了LEN檢查,以確保它們的長度相同,但在下面使用CTE時,行不會重複爲 。 LogTime列有什麼不同嗎?我從來沒有碰到過這個。
WITH CTE AS
(
SELECT rn = ROW_NUMBER()
OVER(
PARTITION BY LogTime , ControllerIP
ORDER BY Id ASC), *
FROM [DownTime].[dbo].[Records]
)
SELECT * FROM cte
WHERE FileName = '141101.CSV' AND rn > 1
Order By ID
GO
此外,我正在使用Microsoft SQL Server 2008R2。
'LEN'不計尾隨空格(和其他非打印字符),所以2個值具有相同LEN和看起來一樣,並不意味着它們具有相同的數據 – Lamak 2014-11-14 14:41:04
從邏輯上講,你的找到重複的策略是合理的。 LogTime或ControllerIP必須不同。 – 2014-11-14 14:41:32
好的。我認爲它的確如此。我會谷歌如何做到這一點,沿着這條道路走下去。 – 2014-11-14 14:42:18