我需要帮助 - 如何为这些需求进行SQL查询:例如,我有一张桌子
| id | did | userid |
---------------------------
| 1 | 4 | 6 |
| 2 | 3 | 8 |
| 3 | 4 | 10 |
在我的脚本中,我有两个用户 ID - 例如$userid_1 = 5, $userid_2 = 8
我需要对数据库进行查询,并检查此用户是否具有相同的did
。例如,如果我有$userid_1 = 6
和$userid_2 = 8
,我提出请求,结果我需要得到did = 4
,如果我有$userid_1 = 6, $userid_2 = 8
我将一无所获。请帮忙,我该如何提出此请求?
您必须使用该表两次:
SELECT
`user_a`.`did`
FROM
`users` as `user_a`,
`users` as `user_b`
WHERE
`user_a`.`userid` = 5 AND
`user_b`.`userid` = 8 AND
`user_a`.`did` = `user_b`.`did`;
这种方式不使用JOIN
但我认为它不会比 Lars Ebert 的查询更快或更慢; 只是不同的方法:
SELECT did
FROM users
WHERE userid IN (5, 8)
GROUP BY did
HAVING COUNT(*) = 2