【问题标题】:SQL Error [156] [S0001]: Incorrect syntax near the keyword 'union'SQL 错误 [156] [S0001]:关键字“union”附近的语法不正确
【发布时间】:2021-04-26 00:30:25
【问题描述】:
WITH a AS
(
    SELECT 
        ii.RPTCategory AS Cat,
        YEAR(ii.CreateDate) AS CatYear, MONTH(ii.CreateDate) AS CatMonth,
        COUNT(*) AS CatNo
    FROM 
        InsInvoice ii 
    WHERE
        ii.RPTCategory IN ('12')
    GROUP BY
        ii.RPTCategory, YEAR(ii.CreateDate), MONTH(ii.CreateDate)
),
b AS
(
    SELECT 
        ii.Category AS Cat,
        YEAR(ii.CreateDate) AS CatYear, MONTH(ii.CreateDate) AS CatMonth,
        COUNT(*) AS CatNo
    FROM 
        InsInvoice ii 
    WHERE
        ii.Category IN ('41')
    GROUP BY
        ii.Category, YEAR(ii.CreateDate), MONTH(ii.CreateDate)
)
SELECT *
FROM 
    (a UNION b)

我得到了错误

关键字 union 附近的语法不正确

我完成的所有搜索,用户在他们的子选择语句中使用order by 时遇到错误,但我没有这样做。我尝试将其拆分为子选择语句而不是使用 with 子句,但我得到了同样的错误。

【问题讨论】:

    标签: sql union


    【解决方案1】:

    union 的正确用法是:

    select a.*
    from a
    union
    select b.*
    from b;
    

    【讨论】:

    • 那行得通。我会在允许的情况下尽快接受。感谢您清理我的原始编辑!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    • 2011-04-07
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多