2

我需要比较表中的两个描述字段,其中另一个字段(组)是常量,如果存在不匹配的描述数据,则返回所有行。

例如,如果我有这张桌子:

Chart   Group   Desc1   Desc2
 1      11111     a       b
 2      11111     a       x
 1      22222     z       h
 2      22222     z       h
 5      22222     u       h
 1      55555     j       p
 3      55555     j       p
 4      55555     j       p

我需要返回 Group 值相同且 Desc1 或 Desc2 与同一组的其余 Description 值不同的所有行。我的回报是:

Chart   Group   Desc1   Desc2
 1      11111     a       b
 2      11111     a       x
 1      22222     z       h
 2      22222     z       h
 5      22222     u       h

我试图做一些不同的选择,但我失败了......感谢您的帮助!

4

1 回答 1

0
SELECT c1.*, c2.*
FROM   Chart c1
       INNER JOIN
       Chart c2 ON c1.Group=c2.Group
WHERE  c1.Desc1<>c2.Desc1 
       OR
       c1.Desc2<>c2.Desc2

这将为您提供每对不匹配的 2 行,不幸的是,从您提供的数据中,我看不到任何可以让我唯一标识每一行的内容 - 如果您有 id 列,您可以添加 c1.id

于 2012-12-12T02:06:23.490 回答