tbl_pack_service;
+-------+---------+------------+
| ps_id | pack_id | service_id |
+-------+---------+------------+
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 3 | 2 | 1 |
| 4 | 2 | 2 |
| 5 | 2 | 3 |
| 6 | 2 | 4 |
| 7 | 2 | 5 |
| 8 | 3 | 1 |
| 9 | 3 | 2 |
| 10 | 3 | 3 |
| 11 | 3 | 4 |
+-------+---------+------------+
ps_id是主键 我想在php中制作动态选择列表 我想要一个mysql查询,可以提供与特定pack_id
不匹配的服务ID就像我有service_id 1,2,3,4,5 当我应该选择pack_id = 1时,应显示3,4,5 当我应该选择pack_id = 2时,不应显示任何内容,因为它具有所有5个服务。 感谢..
答案 0 :(得分:3)
有几种方法可以解决这个问题。最简单的是使用NOT IN
子查询:
SELECT DISTINCT service_id
FROM
tbl_pack_service
WHERE service_id NOT IN (SELECT service_id FROM tbl_pack_service WHERE pack_id = 1)