想知道您是否可以帮助我解决这一问题。

通常,如果您想通过联接运行INSERT,则可以使用类似我在此处编写的脚本的脚本...

    INSERT INTO products_BU  (`d1`)
      SELECT `D1`
      FROM new_dimensions_BU
      LEFT JOIN new_dimensions_BU AS ud
      ON products_BU.size_code = ud.SIZE_CODE


这是一个难题,在products_BU中,没有一个完全是D1的字段,即使有,对于我来说,只为该列使用别名也是很简单的。如果我使用别名ud.D1,我会遇到另一个问题,因为它说“ on子句”中的Unknown列“ products_BU.size_code”,即使我看到它正是size_code。

如果删除别名,我会再次获得歧义列,因此删除别名也不起作用。

任何人都可以阐明为什么会发生这样的错误吗?

最佳答案

当您有这样的查询时:

insert into table2
(field1, field2, etc)
select query goes here


选择查询必须能够成功执行。

看这段代码:

FROM new_dimensions_BU
LEFT JOIN new_dimensions_BU AS ud
ON products_BU.size_code = ud.SIZE_CODE


您试图引用产品表而不加入它。

关于mysql - 字段列表中的列“D1”不明确,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26409010/

10-13 07:04