2016-08-08 12 views
0

3列のテーブルがあります。 ID、Main、Sub1 Main列が一意の場合、Sub1列の文字列を選択するクエリを作成したいとします。たとえば、Sub1のテキストはまったく同じ単語にすることができますが、Main列の単語は異なり、両方のレコードが表示されます。 idが邪魔になる、SQLメインカテゴリに基づいて非反復サブカテゴリを見つける方法

select distinct main, sub1 
from t 
where sub1 is not null; 

しかし:あなたはほとんどたいように見える enter image description here

答えて

0

をpicに参照してください。だから、代わりにgroup byを使用します。

select min(id) as id, main, sub1 
from t 
where sub1 is not null 
group by main, sub1; 

注:これは、sub1の空の値がNULLであることを前提としています。空文字列の場合は、where sub1 <> ''を使用します。

+0

あなたは伝説です。とてもシンプルで、私はメインを使うことさえ考えられませんでした。私はsub1だけを使っていて、UnionやINなどをやろうとしました。ありがとう! – Jay

関連する問題