mysql - 如何将 select * 与 union 一起使用? mysql

标签 mysql

我想运行此查询:

SELECT col1 , col2 , table1.*
    FROM
    (SELECT table2.col1 as col1 , table2.col2 as col2 , table1.* FROM table1 INNER JOIN table2 ...
    UNION
    SELECT table3.col1 as col1 , table2.col2 as col2 , table1.* FROM table1 INNER JOIN table2 ...
    )order by table1.col1

但我无法运行它,因为我应该将 ( SELECT col1 , col2 , table1.*) 处的 table1.* 替换为 table1 列名称。

最佳答案

您需要为联合查询指定别名。

类似于:

SELECT col1 , col2 , talias.*
FROM
(SELECT table2.col1 as col1 , table2.col2 as col2 , table1.* FROM table1 INNER JOIN table2 ...
UNION
SELECT table3.col1 as col1 , table2.col2 as col2 , table1.* FROM table1 INNER JOIN table2 ...
) as talias order by talias.col1

关于mysql - 如何将 select * 与 union 一起使用? mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24413357/

相关文章:

php - 用 PHP 显示 MYSQL。想要将选定的行移动到另一个 sql 表并从现有表中删除

php - 标准使用 session ID 显示相关信息

php - 我如何从 mysql 中的 varchar 列获取日期

mysql - 如何在共享主机上连续克隆 .. 即时

MySQL 并发和 auto_incrementing key

php - PDO 替代 mysql_ 获取字段信息

mysql - mysql 中的外键问题(错误 1005)

php - 如何从另一个表中获取串联数组项的值?

mysql - SQL COUNT 零问题

php - 匹配字段中的序列化值