字段列表中的第 'id' 列不明确 - 推荐系统

Column 'id' in field list is ambiguous - Recommendation System

我试图在 occupationID 与我的 table 帐户中的 occupationID 相匹配的地方列出产品,但一直出现上述错误。

SELECT productID, productName, productDesc, productImgPath, 
       productPrice, catID, occupationID, Accounts.occupationID  
FROM Products 
JOIN Accounts ON occupationID = Accounts.occupationID 
WHERE occupationID = Accounts.occupationID

尽管您没有 'id' 列 - 我认为您只需要完全限定您的陈述;

SELECT productID, productName, productDesc, productImgPath, 
       productPrice, catID, occupationID, Accounts.occupationID  
FROM Products 
JOIN Accounts ON Products.occupationID = Accounts.occupationID 

您不再需要 WHERE,因为它的作用与连接相同

WHERE Products.occupationID = Accounts.occupationID

这是因为 occupationId 在 Products 和 accounts 中都是不明确的。
完全限定字段。

    SELECT productID, productName, productDesc, productImgPath, productPrice, P.catID, P.occupationID, A.occupationID
    FROM Products P JOIN Accounts A ON P.occupationID = A.occupationID

注意:您的 WHERE 子句是多余的,因为它已在联接中处理。

我没有在您的查询中找到任何 id 列,但我建议使用 alise ,这样更易​​于读写。

SELECT p.productID, p.productName, p.productDesc, p.productImgPath, 
       p.productPrice, a.catID, p.occupationID, a.occupationID  
FROM Products p -- use of alise p instead of table_name
INNER JOIN Accounts a ON p.occupationID = a.occupationID 
--WHERE occupationID = Accounts.occupationID (redundant where clause)

请检查列选择并改用准确或正确的 table alise。