我正在尝试使用male_id上​​的左连接将butikkdata2中的sap_id插入到energy_stage_ext2中。

这是我的查询:

insert into energi_stage_ext2  ( maale_id, maale_date, kwh_t, lev_id,
                                 konsept, name, slag, sap_id )
select butikkdata2.sap_id
  from butikkdata2 left join butikkdata2
          ON energi_stage_ext2.maale_id=butikkdata2.maale_id;


但是我收到错误消息:不是唯一的表/别名。

有任何想法吗?

最佳答案

您正在做from butikkdata2 left join butikkdata2,然后您问energi_stage_ext2.maale_id=butikkdata2.maale_id

它怎么知道您要哪个butikkdata2? FROM中的一个或JOIN中的一个?

您需要给一个(或两个)别名。

INSERT INTO energi_stage_ext2 (maale_id, maale_date, kwh_t, lev_id, konsept, name, slag, sap_id)
SELECT bu1.sap_id
FROM butikkdata2 AS bu1
LEFT JOIN butikkdata2 AS bu2 ON energi_stage_ext2.maale_id=bu2.maale_id;


现在,我将它们命名为bu1bu2。确保在查询中引用的是正确表格中的正确字段。

附言我不确定您是否真的可以执行energi_stage_ext2.maale_id=bu2.maale_id。您没有在查询中加入energi_stage_ext2。您可能需要先加入,但我不确定100%。

关于mysql - 错误消息:不是唯一的表/别名MySQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20384650/

10-10 15:07