我有这样的疑问:
SELECT a.total
, b.total
, (a.total - b.total) as dv
, a.customer_name
, a.report_date
, b.report_date
FROM topsourcesfcy a
CROSS
JOIN topsourcesfcy b
WHERE a.customer_name = b.customer_name
AND a.customer_name = 'SPECIALTY DRILLING FLUIDS LIMITED'
AND a.report_date = '2016-2-10'
AND b.report_date = '2016-2-9'
AND a.report_date! = b.report_date但问题是,有时记录可能存在于a中而不存在于b中,或者存在于b中而不存在于a中,这将导致查询执行为false,但如果它只存在于其中之一或两者都存在,我仍然希望选择它。谢谢。
发布于 2016-02-12 22:55:05
在这里阅读更详细的答案:Full Outer Join in MySQL
你想要的是一个完整的外连接,但是mysql不支持它。
相反,您可以使用两个外部连接(左连接和右连接)和联合的组合,以下代码还将删除重复项:
SELECT *
FROM `t1`
LEFT OUTER JOIN `t2` ON `t1`.`id` = `t2`.`id`
UNION
SELECT *
FROM `t1`
RIGHT OUTER JOIN `t2` ON `t1`.`id` = `t2`.`id`
WHERE `t1`.`id` IS NULL;https://stackoverflow.com/questions/35365308
复制相似问题