MySql query on PHP


MySql query on PHP

我需要帮助 - 如何为这些需求进行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