我使用MySql,当在查询下运行时,我发现它在两个框中的行为不同,任何人都可以帮助我吗?
代码在这里:
SELECT *
FROM `product` AS `e`
WHERE e.id NOT IN((SELECT `product_id` FROM `sales`))
在一个框中,它运行良好并返回结果。在另一个框中,它显示error:
[Err] 1242 - Subquery returns more than 1 row
如果删除一对(),它在两个框中都可以正常工作,如下所示:
SELECT *
FROM `product` AS `e`
WHERE e.id NOT IN(SELECT `product_id` FROM `sales`)
有人可以告诉我原因,即与服务器设置有关吗?我可以在不修改sql语句的情况下解决这个问题吗?
答案 0 :(得分:0)
数据;
(SELECT `product_id` FROM `sales`)
被视为“NOT IN”使用的列表中的第一项。 这必须是单个值,因此您会收到错误,因为会返回多行。