发布网友 发布时间:2022-04-26 14:47
共3个回答
热心网友 时间:2022-04-11 06:45
IN 谓词右边括号里的子查询只能输出1个字段,这样数据库引擎会将表中的所有字段 都输出到IN右边的括号里,当然就会报错了。
改正方法:在子查询的SELECT 后面仅指定一个需要比较的字段即可。
SELECT * FROM shop WHERE pid IN(SELECT MAX(pid) FROM shop);
热心网友 时间:2022-04-11 08:03
你这样写试试select * from shop where price in(MAX(price),MIN(price));我记着in是测试一个数值是否in关键字之后提供的数值之中,也就是说in后的括号内可以加具体数值如select * from shop where price in(3.45,3.99);简单的说就是in里好像不能加select语句的。。。
热心网友 时间:2022-04-11 09:38
使用in的时候,子查询只能包含一个字段,且该字段与外查询的条件字段一致!
把子查询里面的MAX(price)、MIN(price)去掉一个即可!
有问题欢迎提问,满意请采纳!