我的SQL代码有什么问题?

use*_*506 1 sql oledb ms-access-2010

我收到这个错误

指定的字段'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)
Run Code Online (Sandbox Code Playgroud)

我设置的关系tblProductDetailsstockIDStock

对不起任何明显的错误.

Jas*_*n C 5

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

换句话说,无论是StocktblProductDetails有一个字段命名StockID,它是不知道你的意思是哪一个.

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

即使您正在加入并且它们都具有相同的值,您仍然必须指定一个.在您的情况下,使用内部联接,选择是相当随意的.