Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 内部联接不返回任何内容,而左侧外部联接返回NULL-SQL Server_Sql Server - Fatal编程技术网

Sql server 内部联接不返回任何内容,而左侧外部联接返回NULL-SQL Server

Sql server 内部联接不返回任何内容,而左侧外部联接返回NULL-SQL Server,sql-server,Sql Server,当我使用内部联接时,这个查询根本不返回任何内容,但是当我将其更改为左外部联接时,会得到一个空值 SELECT RMDET.CUST_CODE, OHORDER.SHIP_TO_NAME, RMDET.TRAN_REF_NO, RMDET.TRAN_DATE, RMDET.T

当我使用内部联接时,这个查询根本不返回任何内容,但是当我将其更改为左外部联接时,会得到一个空值

SELECT                  RMDET.CUST_CODE,
                        OHORDER.SHIP_TO_NAME,
                        RMDET.TRAN_REF_NO,
                        RMDET.TRAN_DATE,
                        RMDET.TRAN_AMT
FROM                    RMDET (NOLOCK)
LEFT OUTER JOIN         OHORDER (NOLOCK) ON OHORDER.ORDER_NO = RMDET.TRAN_REF_NO
WHERE                   RMDET.TRAN_AMT_APPLIED = 0
ORDER BY                RMDET.CUST_CODE
输出:

CUST_CODE   SHIP_TO_NAME    TRAN_REF_NO     TRAN_DATE           TRAN_AMT
------------------------------------------------------------------------
101         NULL            5181            2020-02-13          30.21
101         NULL            5593            2020-02-18          102.07
106         NULL            232793          2019-10-25          66.19
107         NULL            5476            2020-02-17          345.00
107         NULL            3230            2020-01-20          194.00
它应该显示“AC Hotel”,它是101而不是NULL,以此类推。OHORDER.ORDER_NO和RMDET.TRAN_REF_NO是主键,但我认为问题可能是表中的列不相关。我怎么检查

以下是来自RMDET的数据:

CUST_CODE   TRAN_REF_NO TRAN_TYPE   TRAN_DATE   TRAN_AMT    TRAN_AMT_APPLIED    
      101          5181         I   2020-02-13     30.21    0.00
从OHORDER:

ORDER_NO     CUST_CODE     SHIP_TO_CODE         SHIP_TO_NAME
    5181           101                S         AC HOTEL

有更多的列,但它们与查询无关。

那么问题可能在于您的数据。请显示
RMDET
OHORDER
中的一些示例数据。我认为问题可能是表中的列不相关。如果表中的列不相关,您希望任何类型的联接如何正常工作?您能提供两个表中的示例数据吗?一切正常,内部联接检索一行,左联接检索同一行,仔细检查表的结构是否相似?OHORDER.ORDER\U NO和RMDET.TRAN\U REF\U NO的数据类型是什么?