【问题标题】:Error message - Every derived table must have its own alias错误消息 - 每个派生表都必须有自己的别名
【发布时间】:2013-07-08 08:59:49
【问题描述】:

我有这个 SQL 语法,但它不起作用并收到此错误:

“#1248 - 每个派生表都必须有自己的别名”。

你能帮帮我吗?

SELECT *
FROM produse_comenzi
JOIN comenzi ON comenzi.id_comanda = produse_comenzi.id_comanda
JOIN (SELECT DISTINCT numar_factura FROM facturi)
ON facturi.id_comanda = comenzi.id_comanda

【问题讨论】:

    标签: sql distinct alias


    【解决方案1】:

    在第二个连接中,您使用的是子查询,但您没有为结果提供别名,即用于识别结果的东西

    SELECT *
      FROM produse_comenzi
      JOIN comenzi 
        ON comenzi.id_comanda = produse_comenzi.id_comanda
      JOIN (SELECT DISTINCT numar_factura FROM facturi) -- has no alias
        ON facturi.id_comanda = comenzi.id_comanda
    

    你应该这样做

    SELECT *
      FROM produse_comenzi
      JOIN comenzi 
        ON comenzi.id_comanda = produse_comenzi.id_comanda
      JOIN (SELECT DISTINCT numar_factura, id_comanda FROM facturi) AS facturi
        ON facturi.id_comanda = comenzi.id_comanda
    

    【讨论】:

    • 谢谢,但现在我有这个错误:#1054 - Unknown column 'facturi.id_comanda' in 'on Clause'
    • 我猜你还需要从facturi 中选择id_comanda 列,为此进行了编辑。如果这不起作用,请更新或提出其他问题,提供表格以及应如何连接它们。
    【解决方案2】:

    您必须为每个被视为表的子查询添加别名:

    SELECT *
    FROM produse_comenzi
    JOIN comenzi ON comenzi.id_comanda = produse_comenzi.id_comanda
    JOIN (SELECT DISTINCT numar_factura FROM facturi) x
    ON x.id_comanda = comenzi.id_comanda
    

    这里我将结果集命名为x 并在连接条件中引用它。您可以将“x”更改为您喜欢的任何内容。

    【讨论】:

    • 谢谢,但现在我有这个错误:#1054 - Unknown column 'x.id_comanda' in 'on clause'
    【解决方案3】:

    这应该可以解决它:

    (SQL 中需要区分不同的Resultset from select)

    SELECT * 
    FROM produse_comenzi AS table_1  
    JOIN comenzi AS table_2  
    ON table_2.id_comanda = table_1.id_comanda  
    JOIN (SELECT DISTINCT numar_factura FROM facturi AS table_3)  
    ON table_3.id_comanda = table_2.id_comanda
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-02
      • 1970-01-01
      • 2012-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-28
      • 2012-05-16
      相关资源
      最近更新 更多