Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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 连接1个值不必相同的表_Sql Server_Left Join - Fatal编程技术网

Sql server 连接1个值不必相同的表

Sql server 连接1个值不必相同的表,sql-server,left-join,Sql Server,Left Join,在SQL Server 2014中,我需要连接以下两个表,我使用了以下代码,但我的问题是销售组织不匹配。如果不匹配,则应返回仅基于物料而非销售组织的值。 之所以为0,是因为这两个国家的情况相同 Left Join [Z_PACKING] on [CTE_OPMAO2].[Material] = [Z_PACKING].[Material number] AND [CTE_OPMAO2].[Sales_org] = [Z_PACKING].[Sales Organization] 我试着使用O

在SQL Server 2014中,我需要连接以下两个表,我使用了以下代码,但我的问题是销售组织不匹配。如果不匹配,则应返回仅基于物料而非销售组织的值。 之所以为0,是因为这两个国家的情况相同

Left Join 
[Z_PACKING] on [CTE_OPMAO2].[Material] = [Z_PACKING].[Material number]
AND
[CTE_OPMAO2].[Sales_org] = [Z_PACKING].[Sales Organization]
我试着使用OR,但被卡住了

[CTE_OPMAO2] ===========================

Sales_org |   Material                           

2110      |    005013K                 
2190      |    036060J                 
2190      |    036280J                 
2190      |    036353J
2110      |    037380K
2110      |    037740K
[Z_包装] ===========================

Sales_org |    Material number   |    Packaging                    

2110      |    005013K           |       PC      
2190      |    036060J           |       PAC    
2190      |    036280J           |       CAR   
0         |    036353J           |       PC
0         |    037380K           |       PC
0         |    037740K           |       PC

我不知道你为什么有股票,忘了股票了

select *
from CTE_OPMAO2
Left Join [Z_PACKING] on [CTE_OPMAO2].[Material] = [Z_PACKING].[Material number] 
AND ([CTE_OPMAO2].[Sales_org] = [Z_PACKING].[Sales Organization] 
     or [Z_PACKING].[Sales Organization] = 0)

请提供整个select querySelect*from CTE_OPMAO2 Left Join[Z_PACKING]on[CTE_OPMAO2]。[物料]=[Z_PACKING]。[物料编号]和[CTE_OPMAO2]。[销售组织]=[Z_PACKING]。[销售组织]您好,谢谢您提供的信息,我试过了,效果很好,但我从72154条记录变成了72305条记录,考虑到左连接应该保持原始行不变,这对我来说没有意义。左连接的记录不会比左表中的记录少,但可以多。在Zpacking中,您可能有重复的材料。您可以在表上添加一个约束以防止这种情况发生。谢谢,显然有不应该存在的重复项,问题已解决@阿卜杜勒。很高兴我能帮助你。如果你认为这个答案对你有帮助,那么你可以点击答案左边的V,将其标记为最佳答案。谢谢你的帮助,不习惯使用stackoverflow提问,一直是一个潜伏者;