我正在尝试列出productID与我的表帐户中的占用ID匹配的产品,并继续收到上述错误。
SELECT productID, productName, productDesc, productImgPath,
productPrice, catID, occupationID, Accounts.occupationID
FROM Products
JOIN Accounts ON occupationID = Accounts.occupationID
WHERE occupationID = Accounts.occupationID
答案 0 :(得分:1)
虽然你没有' 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
答案 1 :(得分:0)
这是因为在产品和帐户中,占用ID都不明确 完全符合该领域的资格。
SELECT productID, productName, productDesc, productImgPath, productPrice, P.catID, P.occupationID, A.occupationID
FROM Products P JOIN Accounts A ON P.occupationID = A.occupationID
注意:您的WHERE子句是多余的,因为它在连接中处理。
答案 2 :(得分:0)
我的查询中没有找到任何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)
请查看列选择并改用精确或正确的表格。