【发布时间】:2015-09-21 02:12:49
【问题描述】:
我正在为一个查询而苦苦挣扎,希望您能提供帮助。 我有两张桌子。与所有用户一起使用,并与已提交表单中的信息一起使用。 两者都包含用户 ID。 我需要找出用户表中的哪个用户没有出现在报告表中。
这是我目前所拥有的:
SELECT u.ID, u.display_name, u.user_email, r.user_id
FROM users AS u
LEFT JOIN report AS r ON u.ID = r.user_id
WHERE NOT EXISTS(
SELECT *
FROM report AS rr
WHERE u.ID = rr.user_id
)
对于绝对从未提交过表单的用户来说,这似乎很好。 但是报告表还包含一个日期列,我想知道如何按天分组。 在前端,我希望有一个表格显示:
date: user:
2015-01-01 user a
2015-01-01 user f
2015-01-02 user g
2015-01-02 user a
2015-01-03 user z
2015-01-03 user x
其中的用户是当天没有提交表单的用户。
希望您能提供帮助。预先感谢!
【问题讨论】:
-
你的意思是你想要报告表中不存在的日期明智的用户列表?
-
如何从没有报告的用户的报告表中获取日期?你的问题没有意义。
-
@GordonLinoff,这就是为什么我想知道是否必须以某种方式更改表格以使其成为可能。但作为 Emipro Technologies Pvt。 Ltd. 说,我想知道是否有一种方法可以查询报告表中存在的所有日期,然后在用户表中找到没有日期/用户 ID 组合的用户。
标签: mysql sql where-clause not-exists