【问题标题】:SQL Error [1248] [42000]: Every derived table must have its own aliasSQL 错误 [1248] [42000]:每个派生表都必须有自己的别名
【发布时间】:2021-01-21 02:43:55
【问题描述】:

问题:SQL 错误 [1248] [42000]:每个派生表都必须有自己的别名

试过:删除所有别名并使用完整路径而不是别名

原文:

SELECT *
FROM
(SELECT 'OfferItm9' AS OfferNo,
       O.DocNo,
       O.Stkno,
       O.OfferPrice,
       O.StartDateItm,
       O.EndDateItm
FROM OfferItm9 O
WHERE O.EndDateItm>=CURDATE()
  AND O.Active = '1'
  AND O.UOM = 'U'
UNION SELECT 'OfferItm8' AS OfferNo,
             O.DocNo,
             O.Stkno,
             O.OfferPrice,
             O.StartDateItm,
             O.EndDateItm
FROM OfferItm8 O
WHERE O.EndDateItm>=CURDATE()
  AND O.Active = '1'
  AND O.UOM = 'U'
)

【问题讨论】:

    标签: mysql


    【解决方案1】:

    上面查询中的子查询需要一个别名,仅此而已:

    SELECT *
    FROM
    (
        SELECT 'OfferItm9' AS OfferNo, O.DocNo, O.Stkno, O.OfferPrice, O.StartDateItm, O.EndDateItm
        FROM OfferItm9 O
        WHERE O.EndDateItm >= CURDATE() AND O.Active = '1' AND O.UOM = 'U'
        UNION ALL
        SELECT 'OfferItm8', O.DocNo, O.Stkno, O.OfferPrice, O.StartDateItm, O.EndDateItm
        FROM OfferItm8 O
        WHERE O.EndDateItm >= CURDATE() AND O.Active = '1' AND O.UOM = 'U'
    ) t;
    

    但是,我什至看不到子查询的意义,所以只需使用:

    SELECT 'OfferItm9' AS OfferNo, O.DocNo, O.Stkno, O.OfferPrice, O.StartDateItm, O.EndDateItm
    FROM OfferItm9 O
    WHERE O.EndDateItm >= CURDATE() AND O.Active = '1' AND O.UOM = 'U'
    UNION ALL
    SELECT 'OfferItm8', O.DocNo, O.Stkno, O.OfferPrice, O.StartDateItm, O.EndDateItm
    FROM OfferItm8 O
    WHERE O.EndDateItm >= CURDATE() AND O.Active = '1' AND O.UOM = 'U';
    

    注意:在此处使用UNION ALL 以获得性能。

    【讨论】:

      【解决方案2】:

      您需要使用别名来命名子查询结果。

      SELECT * FROM 
      ( SELECT A, B, C, FROM TABLE
      ) TABLE_ALIAS
      

      其中 TABLE_ALIAS 是派生表的别名。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-04-30
        • 2012-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多