我的SQL代码有什么问题?

时间:2014-08-13 05:11:54

标签: sql ms-access-2010 oledb

我收到此错误

  

指定的字段'StockID'可以引用SQL语句的FROM子句中列出的多个表。

代码:

 cmd = New OleDbCommand("SELECT StockID as [Stock ID], ea.Products as [Product]," & _
                         "emp.Amount FROM Stock ea inner join tblProductDetails" & _
                         "emp on emp.StockID = ea.StockID", con)

我已将关系设置为tblProductDetails stockIDStock

抱歉任何明显的错误。

2 个答案:

答案 0 :(得分:5)

这意味着指定的字段'StockID'可以引用SQL语句的FROM子句中列出的多个表。

换句话说,StocktblProductDetails都有一个名为StockID的字段,并且不确定您的意思。

您必须使用表名限定它,例如SELECT ea.StockIDSELECT emp.StockID

即使您正在加入并且它们都具有相同的值,您仍然需要指定一个值。在你的情况下,使用内连接,选择是相当随意的。

答案 1 :(得分:1)

您的表(Stock和tblProductDetails)都有一个名为[Stock ID]的字段。你需要指定使用哪一个(emp或ea)