私はすべてのセットに存在する値を抽出するためにSQLを使用しようとしています。SQLの照会はすべてのセットに存在します
表:
+------------+
!ID!Set !Word!
+------------+
!1 !I1 !ABC !
!2 !I1 !DEF !
!3 !I1 !GHI !
!4 !I2 !ABC !
!5 !I2 !LMN !
!6 !I2 !DEF !
!7 !I3 !ABC !
!8 !I3 !GHI !
!9 !I4 !ABC !
!10!I4 !ABC !
+------------+
結果:
+---+
!ABC!
+---+
が選択.....それは、設定されたI1、I2、I3およびI4に存在し、そこではない任意のものであるため、 'ABC' を与えます他のセット。
私はMYSQLの中で最も速い声明の後です。あなたの助けに感謝します。
select word
from t
group by word
having count(distinct set) = (select count(distinct set) from t);
注:
(正しい)迅速な回答ありがとうございます。 私は今編集している私の質問をあまり単純化してしまったので、答えはうまくいかないでしょう。 – user2877988
まず、答えは機能しているので、私はあなたのコメントを理解していません。しかし、回答を無効にするような方法で質問を変更するのは失礼です。代わりに、別の質問をするべきです。しかし、あなたの意図にもかかわらず、これはまだ正しい答えです。 –
謝罪ゴードン。私は質問を変える前にあなたに投票を与え、あなたの正解を認めました。そして、変更する前にほぼ同じ質問をするかどうか議論した。 回答はうまくいかない。 もう一度謝罪してください。振り返ってみると、問題を変えることは貧しい実践であることを認識しています。 – user2877988