在语句中使用IN
运算符时,当它们包含逗号分隔列表(在任一列或两列中)时,SELECT
用于 db 列名的正确语法是什么?subquery
在下面的代码段中,我试图识别以客户喜欢的颜色提供的产品(任一列中都可以有一个或多个值)
SELECT * FROM products WHERE products.Colors IN (SELECT style.colors_love FROM style WHERE user_id = $user_id)
此格式适用于硬编码列表:
$colors_love = "'Black','Royal_Blue','Dodger_Blue','Red'";
SELECT * FROM products WHERE products.Color IN ('$colors_love')
我已经尝试了所有我能想到的方法,包括将其声明为 anarray
并尝试连接这些值,并且由于我的编码有点生疏,我觉得我的语法有点不对劲。