字段列表中的列“D1”是不明确的

时间:2014-10-16 16:05:39

标签: mysql sql syntax

想知道你是否可以帮我解决这个问题。

通常,如果你想用连接运行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子句'中显示未知列'products_BU.size_code',即使我可以看到它正好是size_code。

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

有人可以解释为什么会发生这样的错误吗?

1 个答案:

答案 0 :(得分:0)

如果您有这样的查询:

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

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