比较SQL中两个不同行之间的多个列

时间:2014-07-04 11:32:04

标签: mysql sql

嗨,这是我的第一个问题,所以希望它有意义!

我需要比较两行(来自同一个表 - 引用),它们有多列。 例如

aagrnum aqtenum atrmres  astlamt  atrmdat  aqtests .... etc
abc123  1       C        5000     20140102 Y
abc123  2       C        5000     20130102 N

到目前为止我所拥有的是:

SELECT *
FROM
 (SELECT * FROM quote a
  WHERE a.aagrnum = 'abc123'
  AND a.aqtenum = 1) c
UNION SELECT *
FROM
 (SELECT * FROM quote b
  WHERE b.aagrnum = 'abc123'
  AND b.aqtenum = 2) d
WHERE c.atrmres <> d.atrmres
AND c.astlamt <> d.astlamt
AND c.atrmdat <> d.atrmdat

但是我收到表C未定义的消息。 我希望在多列之间进行比较,如果这些比较列全部相等则不返回任何内容,如果它们不相等则只返回两行。因此,在上面的示例表中,我会显示两行,因为atrmdat在两行中都不相等,但是aqtests在它们两者上都不相等并不重要。

有没有人知道我该怎么做?我将非常感激!谢谢!

0 个答案:

没有答案