SELECT Name,Checktime
FROM Userinfo
LEFT JOIN Checkinout ON USERINFO.USERID = CHECKINOUT.USERID
WHERE Checktime >= #11/14/18 04:35:00 AM#;
上面的查询必须显示userinfo
表中的所有名称,但只显示带有checkinout表的匹配数据。
答案 0 :(得分:0)
您的问题标题为LEFT JOIN not working
,但在查询中,您使用的是RIGHT JOIN
?
在查询中仅使用LEFT JOIN
。它将列出USERINFO
中的所有用户,但仅列出CHECKINOUT
中的匹配记录。
SELECT `Name`, `Checktime`
FROM `Userinfo`
LEFT JOIN `Checkinout` ON `USERINFO`.`USERID` = `CHECKINOUT`.`USERID`
Where `Checktime` >= #11/14/18 04:35:00 AM#;
答案 1 :(得分:0)
如果要显示用户信息中的所有名称并显示签入表中的匹配数据,只需将RIGHT JOIN更改为LEFT JOIN。
SELECT Checkinout.USERID, Userinfo.Name, Userinfo.Checktime,
FROM Userinfo
LEFT JOIN Checkinout ON USERINFO.USERID = CHECKINOUT.USERID
WHERE Checktime >= #11/14/18;
尝试这个。
答案 2 :(得分:0)
您可以在每个表上设置别名
SELECT a.*,b.*
FROM Userinfo a
LEFT JOIN Checkinout b ON a.USERID = b.USERID
Where b.Checktime>=#11/14/18 04:35:00 AM#;
答案 3 :(得分:0)
在大多数数据库中,您将条件移至bash
子句:
complete -E
A,MS Access不支持此标准语法。您可以改用子查询:
ON