我有两张桌子(见下文)。我试图从第二个表中获取详细信息,其中第一个和第二个表具有相同的客户,而且,我想得到一个空白,其中第一个表客户不在第二个表中。
第一张表
Table1
CUSTOMER | COLOR
A | YELLOW
B | GREEN
C | YELLOW
D | GREEN
E | GREEN
F | RED
G | GREEN
H | RED
I | RED
Table2
CUSTOMER | STATUS
A | OPEN
C | IN PROGRESS
D | IN PROGRESS
F | REOPENED
G | OPEN
H | IN PROGRESS
J | OPEN
K | OPEN
expecting results like below
CUSTOMER |COLOR | STATUS
A |YELLOW | OPEN
B |GREEN |
C |YELLOW |IN PROGRESS
D |GREEN |IN PROGRESS
E |GREEN |
F |RED |REOPENED
G |GREEN |OPEN
H |RED |IN PROGRESS
I |RED |
如果我使用内连接,我只得到匹配的值。如果表b中的table1没有客户,我想要空白。
答案 0 :(得分:0)
您正在寻找LEFT JOIN
:
select t1.*,
t2.status
from table1 t1
left join table2 t2 on t1.customer = t2.customer;
答案 1 :(得分:0)
使用以下查询。
proc
答案 2 :(得分:0)
SQL LEFT JOIN操作返回左表中的所有记录,而不管右表中匹配的记录和右表中匹配的记录。
作为解决方案,请尝试执行以下查询是SQL shell。
SELECT t1.*
FROM table1 as t1
LEFT JOIN table2 as t2 ON t1.customer = t2.customer
ORDER BY t1.customer;