1
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 个服务。谢谢..

4

1 回答 1

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)
于 2012-04-26T05:24:39.387 回答