在sql中显示不匹配的记录

时间:2018-01-30 14:32:57

标签: sql

我有两个表..Table1有product_id和产品来源,而table2有product_id和item。

Product_source   item
CRM               item1
CRM               item2
CNT               null



select product_source , item
from table1 , tabl2
where product_id(+)=tab2.product_id

我希望结果为:

{{1}}

我也试过了外连接,但没有得到结果。 请协助。

3 个答案:

答案 0 :(得分:2)

您需要LEFT JOIN

SELECT
    T1.product_source
    ,T2.item
FROM Table1 T1
LEFT JOIN Table2 T2
    ON T1.product_id = T2.product_id

答案 1 :(得分:1)

你必须做一个左外连接才能得到这个:

select product_source, item
from table1
left outer join table2 on table1.product_id = table2.product_id

答案 2 :(得分:1)

<强>表1:

Product_id | Product_source |
101        | CRM            |
102        | CNT            |

<强>表2:

Product_id | item  |
101        | item1 | 
101        | item2 |

我希望结果为:

Product_source | item  | 
CRM            | item1 | 
CRM            | item2 |
CNT            | null  |

在这种情况下,我认为你会想要这样的东西:

SELECT 
    t1.product_source, t2.item
FROM
    table1 t1 
LEFT OUTER JOIN table2 t2
ON 
    t1.product_id = t2.product_id