0
如何檢查sql查詢中的重複記錄。如何在查詢中獲取不等於1的記錄
如何檢查sql查詢中的重複記錄。如何在查詢中獲取不等於1的記錄
之前選擇,選擇的別名不where子句知。您只能按子句順序使用別名。
,你必須這樣寫:
SELECT * FROM
(
Select TD.ProductAccumRule_Id,TD.PRODUCT_ID,TD.VARIABLE_ID,TD.Accum_code,Ordinal = row_number() over(partition by TD.PRODUCT_ID,TD.VARIABLE_ID,TD.Accum_code order by TD.PRODUCT_ID,TD.VARIABLE_ID,TD.Accum_code) From testdata TD
Join (
select PRODUCT_ID,VARIABLE_ID,Accum_code from testdata where
isActive = 1
GROUP BY PRODUCT_ID,VARIABLE_ID,Accum_code
having count(*) > 1
) TEMP on TD.Product_Id = temp.Product_Id and TD.Variable_Id = TEMP.Variable_Id and TD.Accum_code = TEMP.Accum_code
where TD.isActive = 1
) myInnerQuery
where Ordinal <> 1
總會有一個row_number(),它是1,對嗎?
我認爲你需要嵌套此查詢,如:只要執行其中
select * from (YOUR_BIG_QUERY) where Ordinal <> 1
感謝佛朗哥,我這樣做,我不能得到那個。我得到這個錯誤。 Msg 156,Level 15,State 1,Line 10 關鍵字'where'附近的語法錯誤。 – Sandy