【发布时间】:2020-04-16 06:10:55
【问题描述】:
大家早上好,希望有人可以帮助我解决以下问题。
在MySQL中,我需要比较不同员工填写的2张相同的表,并在记录有变化时返回,如果有变化,则必须返回“零件号”、“数量”并知道它是否属于表1 或表 2。 所以我创建了一个不存在的名为“TypeTable”的列,但它返回给我 NULL。
这是查询:
SELECT numParte
,Cantidad
,NULL AS "TypeTable"
FROM (
SELECT numParte
,SUM(Cantidad) AS Cantidad
,"TypeTable" AS "Table1"
FROM eboard.pye_hojadecarga
WHERE id_chklistemb = 'IDHDC-1-HY'
GROUP BY numParte
UNION ALL
SELECT numParte
,SUM(Cantidad) AS Cantidad
,"Table2"
FROM eboard.pye_hojaconfirmacion
WHERE id_hojadecarga = 'IDHDC-1-HY'
GROUP BY numParte
) tbl
GROUP BY numParte
,Cantidad
HAVING count(*) = 1
ORDER BY numParte;
【问题讨论】:
-
a
union all不比较这两个表 - 它只是将所有行组合成一个结果。查看“完全外部连接”这里是一个参考:stackoverflow.com/questions/4796872/… -
union all 不比较... !!!您需要完整的外部联接才能进行比较。
标签: mysql sql database select union-all