我尝试了四个查询来从Table1中检索所有记录并匹配来自Table2的记录,但是我的查询只返回两个记录而不是三个。从左表中恢复所有记录和从右记录匹配的记录
Table1:
EmpId name
1 xyz1
2 xyz2
3 xyz3
Table2:
EmpId dateIn
1 2015-05-05
2 2015-05-05
Required result:
EmpId name DateIn
1 xyz1 2015-05-05
2 xyz2 2015-05-05
3 xyz3 NULL
select Table1.EmpId, Table1.name, Table2.dateIn from Table1 left join Table2 on Table1.empid=Table2.empid where date_format(Datein, '%Y-%m-%d')='2015-05-05'
select Table1.EmpId, Table1.name, Table2.dateIn from Table1 left join Table2 on Table1.empid=Table2.empid where date_format(Datein, '%Y-%m-%d')='2015-05-05' group by Table1.EmpId, Table1.name, Table2.dateIn
select Table1.EmpId, Table1.name, Table2.dateIn from Table1,Table2 where Table1.empid=Table2.empid and date_format(Datein, '%Y-%m-%d')='2015-05-05' group by Table1.EmpId, Table1.name, Table2.dateIn
select Table1.EmpId, Table1.name, Table2.dateIn from Table1,Table2 where Table1.empid=Table2.empid and date_format(Datein, '%Y-%m-%d')='2015-05-05'
请帮忙。
“其中date_format(Datein,'%Y-%m-%d')='2015-05-05'”将结果限制为两条记录。您需要移动where子句并将其添加为左连接条件。 – cjava