我想创建一个MySql视图,该视图仅在存在另一个值时包含值,而在其他几个表中不为null。我可以想象一个很长的复杂查询使用'NOT IN'或JOINS但我想得到一些关于最佳方法的反馈。想象一下如下: 我有几个这样的表:
T1 T2 T3
id id id
data1 data2 data3
等。也许8张这样的桌子。 id是所有表共有的共享密钥。然后我想要一个只显示id collumn的视图,当且仅当id存在于所有上述表中时,并且该表中数据的值在具有该id的行中不为null。
由于
答案 0 :(得分:2)
您可以使用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