Оставленный JOIN запрос не отображает данные - PullRequest
0 голосов
/ 15 ноября 2018
SELECT Name,Checktime 
FROM Userinfo 
LEFT JOIN Checkinout ON USERINFO.USERID = CHECKINOUT.USERID 
WHERE Checktime >= #11/14/18 04:35:00 AM#;       

Приведенный выше запрос должен отображать все имена из таблицы userinfo, но он отображает только совпадающие данные с таблицей возврата.

Here is my table

введите описание изображенияздесь

Ответы [ 4 ]

0 голосов
/ 15 ноября 2018

В большинстве баз данных вы бы переместили условие в предложение ON:

SELECT ui.Name, cio.Checktime 
FROM Userinfo as ui LEFT JOIN
     Checkinout as cio
     ON ui.USERID = cio.USERID AND
        cio.Checktime >= #11/14/18 04:35:00 AM#;  

Увы, этот стандартный синтаксис не поддерживается в MS Access. Вместо этого вы можете использовать подзапрос:

SELECT ui.Name, cio.Checktime 
FROM Userinfo as ui LEFT JOIN
     (SELECT cio.*
      FROM Checkinout as cio
      WHERE cio.Checktime >= #11/14/18 04:35:00 AM#
     ) as cio
     ON ui.USERID = cio.USERID ;
0 голосов
/ 15 ноября 2018

Если вы хотите отобразить все имена из пользовательской информации и отобразить данные о совпадениях из таблицы возврата, вам просто нужно изменить ПРАВО СОЕДИНЕНИЕ на ЛЕВОЕ СОЕДИНЕНИЕ.

SELECT Checkinout.USERID, Userinfo.Name, Userinfo.Checktime,
FROM Userinfo
LEFT JOIN Checkinout ON USERINFO.USERID = CHECKINOUT.USERID
WHERE Checktime >= #11/14/18;

Попробуйте это.

0 голосов
/ 15 ноября 2018

Вы можете установить псевдоним для каждой таблицы

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#;  
0 голосов
/ 15 ноября 2018

В заголовке вашего вопроса написано 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#;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...