1

我想创建一个 MySql 视图,该视图仅在另一个值存在且在其他几个表中不为空时才包含一个值。我可以想象一个很长的复杂查询使用'NOT IN'或JOINS,但我想获得一些关于最佳方式的反馈。想象一下这样的事情:我有几个这样的表:

T1   T2   T3
id   id   id
data1   data2   data3

等等。也许有 8 张这样的桌子。id 是所有表共有的键。然后我想要一个仅显示 id 列的视图,当且仅当 id 存在于上述所有表中,并且该表中的数据值在具有该 id 的行中不为空。

谢谢

4

1 回答 1

2

您可以使用inner joins 仅显示所有表中的记录

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 回答