我有一个 SQL 查询,这是我遇到的问题。
$query = "SELECT DISTINCT user.firstname, user.lastname, user.userid FROM user, staff WHERE user.type = 'Staff' AND staff.userid!= user.userid";
出于某种原因,它只打印出用户是员工但 != 不起作用的部分,就好像我删除了 !并且只有 staff.user_id = user.user_id 它可以工作并打印出这两个表中的所有用户?
有人可以解释为什么会发生这种情况并提供解决方案。
编辑
TABLE USER TABLE STAFF
ID - NAME - TYPE ID - NUMBER
1 - A - Staff 1 - 11111
2 - B - Staff 2 - 22222
3 - C - Customer
4 - D - Customer
5 - E - Staff
6 - F - Staff
如何找到用户 ID 5 和 6?
最佳答案
尝试 <>
而不是 !=
.
编辑问题的编辑答案:
SELECT user.firstname, user.lastname, user.userid
FROM user LEFT JOIN staff ON user.userid=staff.userid
WHERE user.type = 'Staff' AND staff.userid IS NULL ;
关于php - 两个表不相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9132297/