Sql server 连接1个值不必相同的表
在SQL Server 2014中,我需要连接以下两个表,我使用了以下代码,但我的问题是销售组织不匹配。如果不匹配,则应返回仅基于物料而非销售组织的值。 之所以为0,是因为这两个国家的情况相同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
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提问,一直是一个潜伏者;