我在使用复杂的查询小白..所以我是一个有点困惑在这里..我应该使用哪个sql连接查询?
这里的问题:
我有2个表,第一个是
雇员:
empID name branchID etc
1 ab 1 ...
2 abc 4 ...
3 ad 4 ...
和所述第二表是
employeeAttendance:
empID attDate hourIn hourOut etc
1 05-06-2013 12.00 14.00 ...
1 05-07-2013 10.00 14.00 ...
1 05-10-2013 09.00 12.00 ...
2 05-06-2013 08.00 14.00 ...
2 05-10-2013 08.00 10.00 ...
3 05-09-2013 11.00 15.00 ...
和我想要做到的是这样的观点:
empID name attDate hourIn hourOut etc
1 ab 05-06-2013 12.00 14.00 ...
2 abc 05-06-2013 08.00 14.00 ...
3 ad 05-06-2013 null null ...
1 ab 05-07-2013 10.00 14.00 ...
2 abc 05-07-2013 null null ...
3 ad 05-07-2013 null null ...
1 ab 05-09-2013 null null ...
2 abc 05-09-2013 null null ...
3 ad 05-09-2013 11.00 15.00 ...
1 ab 05-10-2013 09.00 12.00 ...
2 abc 05-10-2013 08.00 10.00 ...
3 ad 05-10-2013 null null ...
我使用SQL Server Management Studio中2008年,这很有趣,我觉得这是很容易的,但我不能让它毕竟,我试图使用左外部连接,右外部连接,内部连接,甚至交叉连接,但他们都没有给我我想要的结果..
几乎给我的答案是CROSS JOIN但ID不匹配,因为CROSS JOIN没有使用ON子句..当我添加WHERE时,它自动成为INNER JOIN ..
我也错过了这里的东西吗? 对不起,如果这个问题很可笑,遗憾的英语不好:)
您必须同时使用'CROSS JOIN'和'OUTER JOIN'来实现这个结果集。在[我的答案]中的工作演示(http://stackoverflow.com/a/16536344/309086)。 – 2013-05-14 06:19:45
是的,我已经尝试了,它的工作..谢谢你的时间:) – 2013-05-14 06:46:23