SQL执行(#1066)

时间:2016-03-18 14:50:38

标签: sql error-handling

我对此代码有疑问:

SELECT
      produse.DENUMIRE,
      clase.CLASA,
      furnizori.NUME_J,
      furnizori.NUME_F
       
      
FROM furnizori

JOIN produse ON produse.ID_CLASA = clase.ID
JOIN produse ON produse.ID_FURNIZOR = furnizori.ID


LIMIT 1000
;

错误是: SQL执行(#1066) 不是唯一的表/别名:'produse'

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要为produse表使用不同的别名,因为它使用了两次:

SELECT
      p1.DENUMIRE,
      clase.CLASA,
      furnizori.NUME_J,
      furnizori.NUME_F
FROM furnizori
JOIN produse p1 ON p1.ID_CLASA = clase.ID
JOIN produse p2 ON p2.ID_FURNIZOR = furnizori.ID

ORDER BY p1.DENUMIRE

LIMIT 1000

如果您想要其他订单,可以调整ORDER BY子句。