【发布时间】:2015-01-10 08:50:42
【问题描述】:
我遇到了 sql 内连接的问题。我的表、列、数据类型和表值如下图所示。
我的工作查询是:
SELECT O.ORDER_ID, O.ORDER_DATE, O.QUANTITY,
P.PART_ID, P.PART_CODE, P.PART_NAME,
C.CUST_ID, C.CUST_CODE, C.CUST_NAME
FROM (([dbo].[ORDER] O
LEFT OUTER JOIN [dbo].[CUSTOMER] C
ON C.CUST_ID = O.CUST_ID)
LEFT OUTER JOIN [dbo].[PART] P
ON P.PART_ID = O.PART_ID
它正在返回那个
所以我的问题是,我想写一个像第二张图片这样的查询,但我应该使用 INNER JOIN 这将使左外连接的工作。我为此写了以下查询
SELECT DISTINCT *
FROM [dbo].[ORDER] O
INNER JOIN CUSTOMER C
ON (C.CUST_ID = O.CUST_ID OR
O.CUST_ID IS NULL)
但它不会向我返回 LEFT OUTER JOIN 查询结果。我怎样才能做到这一点不使用 LEFT OUTER JOIN ?
【问题讨论】:
标签: sql sql-server tsql inner-join outer-join