2016-10-20 9 views
2

私はこのテーブルを持っており、マークされた行を除外するSELECTをしたいと思います。一般的なルールは次のようになります2つの列に基づいて重複を削除します

  • コントロール名AND新しい名称および列は、次にグループ名が「慧音Zuordnung」でない行を保つ
  • 等しいgrouptypes二つ以上のラインが存在する場合。
CONTROLNAME BRANDNAME GROUPTYPES GROUPNAME 
ECU   AUDI  VERNETZER   1 
ECU   AUDI  VERNETZER  Keine zuordnung <--THIS 
ECU   AUDI  FUSI   Keine zuordnung <--THIS 
ECU   AUDI  FUSI    2 
ECU2   AUDI  FACHANWENDER Keine zuordnung 
ECU3   AUDI  FACHANWENDER Keine zuordnung 

私はこれで少しの助けをしてくださいことはできますか? ありがとうございました!それはあなたのロジックのために、その後where数とを取得するには、ウィンドウ関数を使用しています

select t.* 
from (select t.*, 
      count(*) over (partition by controlname, brandname, grouptypes) as cnt 
     from t 
    ) t 
where cnt = 1 or groupname <> 'Keine Zuordnung'; 

+0

データは画像ではなく、フォーマットされたテキストとして投稿してください。 – Aleksej

+0

http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking -a-question/285557#285557 –

+0

"duplicate"を選択しないか、テーブルから "duplicate"を削除しますか? – jarlh

答えて

3

は、ここに1つの方法です。

+0

あなたは男です! –

関連する問題