如何创建查询以显示合并两个表的结果

时间:2019-05-17 12:14:21

标签: sql-server

我有一个表A,该表按日期显示注册号的车辆活动。每个rego每天都可以进行。

我还有第二张表,表B显示了我想用来填充表1的日期,注册号和状态。

这个想法是要显示表A中所有在表B中没有条目的东西,并对此进行滚动记录。

Table A
ABC 2019-05-17
XYZ 2019-05-17
DEF 2019-05-17
HIJ 2019-05-17
KLM 2019-05-17
NOP 2019-05-17
QRS 2019-05-17
TUV 2019-05-17
AAA 2019-05-17
DEF 2019-05-16
AAA 2019-05-16
DEF 2019-05-16
HIJ 2019-05-16
KLM 2019-05-16
NOP 2019-05-16
QRS 2019-05-16
TUV 2019-05-16

表B

TUV 2019-05-17  PASS
AAA 2019-05-17  PASS
DEF 2019-05-17  FAIL
MOP 2019-05-17  PASS
AAA 2019-05-16  PASS
DEF 2019-05-16  FAIL
MOP 2019-05-16  PASS

我已经搜索了许多站点以寻求帮助,但我只是无法找到有效的方法

SELECT A.Date_, 
A.Rego, B.Rego, B.Status, B.Date_ 
FROM Daily_Activity A, Daily_Inspect B 
WHERE A.Date_=B.Date_ AND A.Rego=B.Rego

这部分起作用,但我也想显示表A中的数据,而表B中没有匹配的条目。

1 个答案:

答案 0 :(得分:0)

使用左联接。这将返回表A中的所有记录以及表B中的匹配结果。

SELECT A.Date_, 
A.Rego, B.Rego, B.Status, B.Date_ 
FROM Daily_Activity A
LEFT JOIN Daily_Inspect B 
ON A.Date_=B.Date_ 
AND A.Rego=B.Rego