行カウントを使用して1または2のいずれかと一致する値を返します。すべての値を2にする必要があります。ただし、行数が1の値の一部は、列名にフィルターをかけようとしています。私が探しているのは、2のカウントを持つ行を保持するメソッドですが、行数2の場合にのみ1のカウントで行を除外します。以下の例では、 528886のIDは、それが行2.行数を使用して重複値を削除する
クエリを持っているとして、行を除外したいと思います:
select * from (
select *, ROW_NUMBER() over (partition by SalesOrderPostedID
Order By SalesOrderPostedID) as RowNumber
from cte5) c
Where SalesOrderPostedID=528886
and c.RowNumber=1
Union all
select * from (
select *, ROW_NUMBER() over (partition by SalesOrderPostedID
Order By SalesOrderPostedID) as RowNumber
from cte5) c
Where SalesOrderPostedID=528886
and c.RowNumber=2
私は結果を添付しています。わずかな変更でゴルゴンによって提供されるよう
ソリューション。以下のクエリは、1または2の行を返します。
を選択し、C。* から(cte5を選択します。SalesOrderPostedIDによってパーティション(オーバーSalesOrderPostedID ことでSalesOrderPostedID 注文によって(パーティション)RowNumber関数として、 数())を超える、 ROW_NUMBER()をcte5からCNT として )c (RowNumber = 2または cnt = 1)。
は、あなたがサンプルデータと望ましい結果を提供することはできますか?私は本当にその説明に従うことができません。 –