鉴于这些表:
+---------------+---------+
| Field | Type |
+---------------+---------+
| group_id | int(10) |
| subscriber_id | int(10) |
+---------------+---------+
+---------------+--------------+
| Field | Type |
+---------------+--------------+
| subscriber_id | int(10) |
| firstname | varchar(50) |
| lastname | varchar(50) |
| company | varchar(120) |
| position | varchar(50) |
| email | text |
| lettertype | varchar(5) |
| status | varchar(20) |
+---------------+--------------+
我使用以下查询来获取订阅者的子集:
SELECT *
FROM newsletter_subscribe AS a, newsletter_subscriber AS b
WHERE (a.group_id = 1 or a.group_id = 4)AND (a.subscriber_id = b.subscriber_id)
如果在 newsletter_subscribe 中存在 group_id = 3 的行,那么我想做的是从子集中排除,那么该行中的 newsletter_subscribe 将从结果中排除。
我的想法是制作一个临时表来替换a
,但我不确定如何去做。