1

別の値が存在し、他のいくつかのテーブルに null がない場合にのみ値を含む MySql ビューを作成したいと考えています。「NOT IN」または JOINS を使用した長くて複雑なクエリを想像することはできますが、これを行う最善の方法についてフィードバックを得たいと思っていました。次のようなものを想像してみてください。次のようなテーブルがいくつかあります。

T1   T2   T3
id   id   id
data1   data2   data3

などなど、おそらく8つのテーブルがそうです。id は、すべてのテーブルが共通に共有するキーです。次に、idが上記のすべてのテーブルに存在し、そのテーブルのデータの値がそのidを持つ行でnullでない場合にのみ、id列のみを表示するビューが必要です。

ありがとう

4

1 に答える 1

2

sを使用inner joinして、すべてのテーブルにあるレコードのみを表示できます

select t1.id
from t1
inner join t2 on t1.id = t2.id
inner join t3 on t1.id = t3.id
where data1 is not null 
and data2 is not null 
and data3 is not null
于 2013-03-09T19:14:46.287 に答える