Sql 错误消息-每个派生表都必须有自己的别名
我有此SQL语法,但它不工作,并收到以下错误: 1248-每个派生表都必须有自己的别名 你能帮我吗Sql 错误消息-每个派生表都必须有自己的别名,sql,distinct,alias,Sql,Distinct,Alias,我有此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 必须为每个被视为表的子查
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
必须为每个被视为表的子查询添加别名:
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更改为您喜欢的任何值。在第二次联接中,您使用的是子查询,但您没有为结果指定别名,即用于标识结果的内容
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
这应该可以解决这个问题:
SQL中需要区分不同的结果集和选择
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
谢谢,但现在我有一个错误:1054-on子句中的未知列'facturi.id_comanda',我猜您还需要从facturi中选择id_comanda列,已经为此进行了编辑。如果这不起作用,请更新或询问另一个问题,提供这些表以及它们应该如何联接。谢谢,但现在我有一个错误:“on子句”中的1054-未知列“x.id_comanda”