注: 可能であれば、SQL Server Manager で実行できる純粋な SQL クエリ ソリューションを探しています。
スクリプトにエラーがありました。これは、1 回入力することを意図していたデータが複数回入力されたことを意味し、1 つのエントリ PERcompany_id
フィールドを除くすべてを削除するかexport
、1 つのエントリごとに列を更新する方法が必要ですcompany_id
。
short_desc
には複数のオカレンスがあり、
long_desc
複数のオカレンスがあります
私のデータは次のように構成されています。
id | company_id | short_desc | long_desc | export
1 1234 word text 0
2 1234 word text 0
3 1234 word text 0
4 1234 word text 0
5 1234 word text 0
6 1234 word text 0
7 5678 another foo 0
8 5678 another foo 0
9 5678 another foo 0
10 5678 another foo 0
11 5678 another foo 0
12 5678 another foo 0
それぞれのエントリが 1 つしかない限り、どのエントリが更新 / 削除されてもかまいません。上の例では、2 つのエントリしか残らない / としてマークされexport=-1
ます。
サブセレクトとグループ化を使用してさまざまなことを試みましたが、常にグループ化する必要があるid
ため、重複が発生することはありません。長い朝だったかどうかはわかりませんが、これを行うための純粋な SQL の方法が思い浮かばないようです。そのためのスクリプトを作成することは避けたいと思います。
フラグが設定されている場合は、export
フラグが 0 の場所だけを削除します。
SQL Server 2008 を使用しています。