Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 错误消息-每个派生表都必须有自己的别名_Sql_Distinct_Alias - Fatal编程技术网

Sql 错误消息-每个派生表都必须有自己的别名

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 必须为每个被视为表的子查

我有此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) 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”