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

Mysql 比较SQL中两个不同行之间的多列,mysql,sql,Mysql,Sql,嗨,这是我的第一个问题,希望它有意义 我需要将同一个表中的两行相互比较,该表包含多个列。 例如 到目前为止,我得到的是: 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 WHE

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

我需要将同一个表中的两行相互比较,该表包含多个列。 例如

到目前为止,我得到的是:

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在这两行中不相等并不重要


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

你能改变你的例子来更接近你的真实数据吗?在这一点上,您正在尝试做的和应该尝试做的是非常不同的,您可以通过不太混淆您的问题来获得更有用的帮助。真实的表和列名将允许其他人更接近您应该做什么来获得您想要的。是的,请提供这两个表的摘录和您想要得到的结果的具体示例!Where子句仅适用于最新的Select。我建议您尝试使用联接。然而,正如前面的评论员所说,很难弄清楚你到底想做什么。好的,谢谢你的评论,我将编辑上面的内容。可能的重复
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