MySQL 从联合创建派生表

标签 mysql

为什么这个查询不能在 MySQL 中运行?我试图理解这一点,以便我可以使用更复杂的选择来进行更大的查询来填充记录,但我已将其全部分解为绝对基本的构建 block ,但它仍然无法运行。

SELECT *
FROM 
(   
   (SELECT 'January' as col1 ) as t0     
    UNION 
   (SELECT 'December'  as col1 ) as t1
) as derivedTable

错误是#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 't1 附近使用的正确语法

我希望它看起来像:

col1
January
December

最佳答案

不需要所有子查询。你可以直接写:

(
    SELECT 'January' AS col1
    UNION ALL
    SELECT 'December' AS col1
) AS derivedTable

我假设这是在更大的查询中用作子查询(例如,执行LEFT JOIN来获取每个月的结果)。

关于MySQL 从联合创建派生表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47723006/

相关文章:

mysql - 尝试嵌套游标时 MySQL 存储过程中出现语法错误

java - 我需要运行查询 "USE database",每次我调用一个新函数

mysql - MYSQL Workbench 中的动态查询

mysql - 使用sql查找重复记录并在同一操作中删除

php - 使用php5在mysql中注册用户帐户

c# - 在 c# 面板上使用 DataReader 和 TextBox 控件的 Repeater 控件

mysql - 如何解决MySQL错误: #1064 in this case?

mysql - 找不到 DBI.pm,即使它在路径中

mysql - 嵌套游标循环: Column count doesn't match value count at row 1

php - 具有未知数据库的家园的 Laravel 5