从出现的表中计算记录是一个而不是其他:MYSQL
我有两个简单的表格
用户
+----+--------+-----------+
| id | gender | birthdate |
+----+--------+-----------+
userpreference
+----+------------------+-----------------+
| id | preference value | preference type |
+----+------------------+-----------------+
题:
我想查询所有未列出特定首选项值的人,例如“shopping”。这包括所有未列出任何首选项类型的人,以便该列可以为null,但是因为userpreference的列'id'将用户引用为一个外键,我还想在我的计数中包括所有未出现在第二个表中的人(用户偏好)?
没有偏好值'shopping'作为偏好值的总人数:
这是我尝试过的:
SELECT
(
SELECT COUNT(DISTINCT userpreference.id) FROM userpreference
WHERE preferencevalue != 'shopping')
+
(
SELECT COUNT(users.id)
FROM users
WHERE users.id NOT IN
(SELECT userpreference.Id
FROM userpreference )
)
AS'Total'
没有找到相关结果
已邀请:
3 个回复
寇剩
爆山
RIGHT JOIN Userpreference ON(users.
=Users.
) WHERE preference_value ='shopping'
凸晴