我正在尝试制作一个使用php编码的网上商店,但是我遇到了问题
我尝试了多个SQL查询,但现在都无法使用。
这就是我所拥有的
SELECT *
FROM products
WHERE product_id = (SELECT product_id
FROM `wishlist`
WHERE user_id = :user_id)
由于子查询输出多个产品ID,因此无法正常工作。
周围有人知道吗?
谢谢。
答案 0 :(得分:3)
您可以使用JOIN
:
SELECT p.*
FROM products p
JOIN `wishlist` w
ON p.product_id = w.product_id
WHERE w.user_id = :user_id
答案 1 :(得分:3)
您可以使用IN子句或联接
IN
SELECT * FROM products WHERE product_id IN (SELECT product_id FROM `wishlist` WHERE user_id = :user_id)
或JOIN
SELECT *
FROM products
INNER JOIN (
SELECT product_id
FROM `wishlist`
WHERE user_id = :user_id
) t on t.product_id = products.product_id
答案 2 :(得分:0)
解决方案正在使用:
SELECT * FROM products WHERE product_id IN (SELECT product_id FROM `wishlist` WHERE user_id = :user_id)
感谢@Gordon Linoff