字段列表中的第 '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。
我试图在 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。