0

j と t の 2 つの MySQL テーブルと、3 番目の正規化テーブル jt があります。

t.tID

j.jID

jt.status
jt.tID
jt.jID

jt.status="x" のすべての j を選択するにはどうすればよいですか? つまり、aj の 1 つ以上の jt が x である場合だけでなく、aj のすべての jt が x である場合を選択したいと考えています。

これには、テーブル t は無関係かもしれないと思います。

(私が自分自身を理解してくれることを願っています。説明するのはかなり難しいと思います。必要に応じて質問にコメントしてください。)

4

1 に答える 1

1

not exists句が必要であるかのように見えます。

select jt.*
  from jt
 where not exists ( select 1 from jt where status <> 'x' and jID = jt.jID )

これにより、そのテーブルに存在しjtない単一の値がない場所からすべてが選択されます。x

于 2012-06-17T21:35:24.820 に答える