0
SQLクエリで重複したレコードをチェックする方法。私のクエリで1と等しくないレコードを取得する方法
SQLクエリで重複したレコードをチェックする方法。私のクエリで1と等しくないレコードを取得する方法
。 order by節でのみエイリアスを使用できます。あなたはこのように記述する必要が
:
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になるでしょう、そうですか?
私はあなたのような巣にこのクエリが必要だと思う:限り選択し、選択されたエイリアスはwhere句で知られていない前に、どこが実行されるよう
select * from (YOUR_BIG_QUERY) where Ordinal <> 1
感謝フランコ、私はそれを取得することはできませんよということでした。私はこのエラーが発生しています。メッセージ156、レベル15、状態1、行10 キーワード 'where'の近くの構文が正しくありません。 – Sandy