Php 使用in()的Mysql查询不';工作
我正试图通过此查询查找与类别列表相关的所有产品:Php 使用in()的Mysql查询不';工作,php,mysql,sql,Php,Mysql,Sql,我正试图通过此查询查找与类别列表相关的所有产品: SELECT p.id, product_name, added_date FROM products p, products_to_categories ptc WHERE ptc.category_id in ("89,88,83,87,84,85,86,82") AND ptc.product_id=p.id and p.active="1" group by p.id 如果我切断条件且ptc.product_id=p.id
SELECT p.id, product_name, added_date
FROM products p, products_to_categories ptc
WHERE ptc.category_id in ("89,88,83,87,84,85,86,82")
AND ptc.product_id=p.id and p.active="1"
group by p.id
如果我切断条件且ptc.product_id=p.id
返回行-激活条件的行错误。。
通过1次查询获得正确信息的正确方法是什么?-有可能吗?
谢谢如果激活的是
int/bool
$q='SELECT p.id, product_name, added_date
FROM products p, products_to_categories ptc
WHERE ptc.category_id in (89,88,83,87,84,85,86,82)
AND ptc.product_id=p.id and p.active=1
group by p.id';
如果激活的是
int/bool
$q='SELECT p.id, product_name, added_date
FROM products p, products_to_categories ptc
WHERE ptc.category_id in (89,88,83,87,84,85,86,82)
AND ptc.product_id=p.id and p.active=1
group by p.id';
不要引用类别ID列表:
SELECT p.id, product_name, added_date
FROM products p
JOIN products_to_categories ptc ON ptc.product_id=p.id
WHERE ptc.category_id IN (89, 88, 83, 87, 84, 85, 86, 82)
AND p.active="1"
GROUP BY p.id
不要引用类别ID列表:
SELECT p.id, product_name, added_date
FROM products p
JOIN products_to_categories ptc ON ptc.product_id=p.id
WHERE ptc.category_id IN (89, 88, 83, 87, 84, 85, 86, 82)
AND p.active="1"
GROUP BY p.id
不要用括号封装所有类别。MySQL将其解释为单个类别。封装每个类别,例如“89”、“90”、“91”。您也可以跳过括号,因为它是您查询的整数
如果ID是字符串,则可以对其进行封装,例如“一”、“二”、“三”。不要用括号封装所有类别。MySQL将其解释为单个类别。封装每个类别,例如“89”、“90”、“91”。您也可以跳过括号,因为它是您查询的整数
如果ID是字符串,你可以将它们封装起来,例如“一”、“二”、“三”。伙计们,我删除了引号,得到了额外的一行,但仍然没有完全正确的结果,我尝试了@Barmar的查询,仍然。。还有什么?请发布一些示例数据和预期结果。您的查询没有问题,只是我复制/粘贴的问题。。我接受它的回答,谢谢你们,我删除了引号并获得了额外的一行,但仍然没有完全正确的结果,我尝试了@Barmar的查询,仍然。。还有什么?请发布一些示例数据和预期结果。您的查询没有问题,只是我复制/粘贴的问题。。我接受回答,谢谢你
活动列的数据类型是什么?活动是枚举('0','1')通常在枚举中使用数字字符串是个坏主意。活动列的数据类型是什么?活动是枚举('0','1')通常在枚举中使用数字字符串是个坏主意。