【发布时间】:2023-01-20 01:27:51
【问题描述】:
我有 3 个表:formulario、viaverde 和 reparacoes。 其中一个字段在所有表中都是相等的,称为 matricula,我试图将每个算术运算分组到它。 但我一直收到 matricula is ambiguous 或 synthax 错误的错误,我该如何实现?
我尝试了以下代码:
JOIN (
SELECT matricula, (total)/(kmsTotais) AS custoKM
FROM (
SELECT matricula, SUM(kmfim - quilometragem) AS kmsTotais
FROM formulario
GROUP BY matricula
) e
JOIN (
SELECT matricula, abastecimento_euros as total FROM formulario
UNION ALL
SELECT matricula, custo as total FROM viaverde
UNION ALL
SELECT matricula, valor as total FROM reparacoes
) as subquery
GROUP BY matricula
) i ON i.matricula = f.matricula
【问题讨论】:
-
如果一个列名在join的多个表中,需要使用
tablename.columnname -
您在嵌套的
JOIN中没有ON条件。应该是ON e.matricula = subquery.matricula -
看起来您的查询可能简化了很多,您可以分享示例数据和预期输出吗?
标签: mysql