2012-04-26 57 views
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查询,可以给服务ID不与特定的pack_id选择数据

像匹配的动态选择列表我有service_id 1,2,3,4,5 当我应该选择pack_id = 1然后3,4,5应该显示 当我应该选择pack_id = 2然后什么都不应该显示,因为它有所有5个服务。 谢谢..

回答

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) 
+0

你也较快;)+1 – 2012-04-26 05:26:01

+0

我的朋友也有人告诉你,你是天才..这完美的作品像magic..thanks很多 – Jain 2012-04-26 05:28:10