1
我试图编写一个查询,它将返回列1中的字段相同的记录,但至少有一个特定其他栏中的一个区别。返回其中一个字段相同的所有行,但其他字段中至少有一个差异
例如:
我想如果有差异比较列2和4的第1列中的每个值,我需要在两行的所有字段返回。
这组数据
列1 |列2 |栏3 | Column4 | Column5
空气过滤器|形状|轮|彩色|红
空气过滤器|外形|面板
的Nerf酒吧|完成|抛光|资料|不锈钢钢铁
的Nerf酒吧|完成|喷粉|资料|不锈钢
胡德|色|黑色|完成|粉末涂层
胡德|完成|喷粉|彩色|黑色
会沤金塔:
空气过滤器|形状|轮|彩色|红
空气过滤器|外形|面板| NULL |彩色| |黑色NULL
因为在第4列的值不记录
而
罩之间的匹配|完成|粉末涂层
胡德|完成|喷粉|彩色|黑色
因为在第2列和第4列中的值不记录
之间的匹配,我只能得到每部分返回一个记录。
这里是我已经试过代码:
Select *
from [My_Table] as a
where exists(select null from [My_Table] as b
where a.column1 = b.column1
and (a.column2 = b.column2
or a.column3 = b.column3
or a.column4 = b.column4
or a.column5 = b.column5))
它的工作原理!我增加了不同,因为它最初返回了我拥有的记录数量的5倍。非常感谢!! – user955289
我有关于更改此查询条件的另一个问题。我应该问这里还是提交另一篇文章? – user955289
@ user955289:什么问题? –