Sql Query从第二个表中获取详细信息

时间:2017-05-13 05:07:11

标签: sql

我有两张桌子(见下文)。我试图从第二个表中获取详细信息,其中第一个和第二个表具有相同的客户,而且,我想得到一个空白,其中第一个表客户不在第二个表中。

第一张表

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没有客户,我想要空白。

3 个答案:

答案 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;