mysql - 错误消息: Not unique table/alias MySQL

标签 mysql table-alias

我正在尝试使用male_id上​​的左连接将sap_id从butikkdata2插入到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=bitikkdata2.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 - 错误消息: Not unique table/alias MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20384650/

相关文章:

mysql - 拥有超过 100000 个节点的 drupal,性能提升到非常高

php - SQL:如何按满足某些条件的字段之和进行排序?

php - 我的 PHP 数组的第一个值在有值时返回为 'null'

sql - ORA-00933 与内部联接混淆和 "as"

codeigniter - 代码点火器在表别名中添加 db 前缀

sql - FROM 中的子查询必须有别名 POSTGIS

asp.net - 使用 MySQL、ASP.NET 和 Entityframework 实现原子计数器

mysql - 如何在 'IF' 语句中使用 'SELECT' 并在 mysql 上插入

sql select 使用 mysql 查询浏览器

sql - 何时使用 SQL 表别名