比较sql server中的多行和多列

比较sql server中的多行和多列,sql,stored-procedures,compare,Sql,Stored Procedures,Compare,我有两张桌子第一张是真桌子第二张是临时桌子。我不得不比较这两张桌子。第一个表的“KartelaKod”字段应与temp的“KartelaKodu”字段匹配,第一个表的“OzellikKod”字段应与temp的“OzellikKodu”字段匹配,第一个表的“AltKod”字段应与temp的“StokKodu”匹配。 最后,如果它不完全匹配,它应该返回 附言:你应该根据VrtUrunKod对第一张桌子进行分组。 例如,如果MAM | 002的VrtUrunKod OzellikKod字段与临时表的

我有两张桌子第一张是真桌子第二张是临时桌子。我不得不比较这两张桌子。第一个表的“KartelaKod”字段应与temp的“KartelaKodu”字段匹配,第一个表的“OzellikKod”字段应与temp的“OzellikKodu”字段匹配,第一个表的“AltKod”字段应与temp的“StokKodu”匹配。

最后,如果它不完全匹配,它应该返回

附言:你应该根据VrtUrunKod对第一张桌子进行分组。 例如,如果MAM | 002的VrtUrunKod OzellikKod字段与临时表的OzellikKodu字段不匹配,则应查找另一个VrtUrunKod记录

编辑1:IsNull从Konfigolusmussozellikler k中选择排名前1的Vrtunkod,其中Sirket_Kod=@sp_Sirket_Kod和AnaUrunKod=@spStokKod和
ExistsSelectt*从TempDegisen t中,t.KartelaKodu=k.KartelaKodu和t.OzellikKodu=k.OzellikKod和t.StokKodu=k.AltKod,这是我写的,到目前为止,您可以忽略Sirket_Kod字段和参数。

这应该会生成一个行列表,其中有一个k,但没有匹配的t,而在没有匹配的k。如果没有结果行,则匹配所有行:

SELECT *

FROM 
  KonfigOlusmusOzellikler k
  FULL OUTER JOIN
  #TempDegisen t
  ON 
    t.KartelaKodu = k.KartelaKodu and 
    t.OzellikKodu = k.OzellikKod and 
    t.StokKodu = k.AltKod

WHERE t.KartelaKodu IS NULL OR k.KartelaKodu IS NULL

你能发布到目前为止你写的SQL吗?我添加了我的查询。但这当然是错误的,这只是返回给我一行比较。开始误解你的问题,我想。。你想要一个描述两个表是否匹配的单行结果,还是想要一个不匹配的所有行的列表?我只是使用KonfigOlusmusOzellikler作为数据池,我可以过滤。