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で動的選択リストを作成するために使用している主キーです。特定のpack_idと一致しないサービスIDを提供できるmysqlクエリが必要です。

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 に答える