0

我有两张这样的桌子

tblMaster
---------
id  title
---------
1    a
2    b
3    c
4    d

tblDetail
---------
dId  mId
---------
100  1
100  2
100  4
101  1
101  3
102  2
102  3

我加入他们并使用此查询从 tblMaster 中查找没有详细项目 ID (1,4) 的项目

SELECT m.id, m.title FROM tblMaster m
INNER JOINT tblDetail d on d.mId=m.id
WHERE m.id NOT IN (SELECT d2.mId FROM tblDetail d2 WHERE d2.dId IN (1,4))
GROUP BY m.id, m.title

我有很多表,我想像我提到的那样过滤它们。有没有更简单的方法或通用的方法来做所有事情?

还有……性能也很重要!如果 Yii Activerecord 中有解决方案就可以了。

4

1 回答 1

1

使用外连接连接:

SELECT m.id, m.title FROM tblMaster m
LEFT OUTER JOIN tblDetail d on d.mId=m.id
WHERE d.dId is null
于 2013-07-16T18:52:52.340 回答