从数据库中选择数据Mysql查询

时间:2012-04-26 05:21:11

标签: php mysql

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

1 个答案:

答案 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)