Mysql加入多个表错误:不是唯一的表/别名

时间:2017-07-07 16:38:30

标签: mysql left-join

加入对我来说一直很敏感。 我试图从多个表中获取多个列。 我的public MyButton(Context context, AttributeSet attrs) { super(context, attrs); this.setOnClickListener(this); } 表左连接导致错误:product p num

我已经看到此错误出现在其他stackoverflow示例中。我尝试修改各种版本,但不确定我缺少什么。

Error Code: 1066. Not unique table/alias: 'product p num'

3 个答案:

答案 0 :(得分:1)

问题是因为您多次连接相同的表而没有别名任何表。你有意加入他们两次吗?我不明白为什么你会故意这样做。

你想要的逻辑很可能就是这样:

SELECT 
  tbls.SNum
  , tblmar.AssemPart
  , tblmar.wifi
  , `product p num`.`Customer Name`
FROM 
  floor.tbls
  LEFT JOIN tblmar 
    ON tbls.PartNum = tblmar.AssemPart 
  LEFT JOIN `product p num` 
    on tblmar.AssemPart = `product p num`.`product p`
WHERE 
  tblmar.AssemPart IS NOT NULL 
  AND `product p num`.`Customer Name` = 'Google' 
  AND tblmar.wifi = 1 
ORDER BY 
  `product p num`.`product p`;

答案 1 :(得分:1)

您正在混合两种不同的语法方式来加入表格。你的from子句中包含所有表格,然后你再次加入它们。

答案 2 :(得分:0)

您正在执行两次引用同一个表的查询。

如果要执行此操作,则需要对这些表进行别名。例如:

mod_speling