我已经完成了以下操作,并且似乎没有遇到任何问题。在与 UNION 结合的不同查询中使用相同的别名是否不合适?
SELECT table1.a,t.b,t.c
FROM table1
INNER JOIN table2 AS t ON t.table1_id=table1.id
WHERE t.fk=123
SELECT table2.a,t.b,t.c
UNION
FROM table3
INNER JOIN table4 AS t ON t.table3_id=table3.id
WHERE t.fk=123;
最佳答案
union
的独立部分被视为独立的子查询。您可以对两者中的表使用相同的别名,因此您编写的查询没有问题。列的名称来自 union
中的第一个子查询,而不管后续子查询中的名称如何。
MySQL 和其他数据库也是如此。
关于mysql - 别名是否需要在 mysql union 中具有唯一名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25577426/