select product.P_id from Product where Product.P_num>(
select sum(Market.M_need) from Market where Market.P_id=Product.P_id);
这个sql语句为什么会返回三行结果,下面的子查询使用聚合函数返回的是一个65的数值,为什么到上面就变成三个P_id比较了。
select product.P_id from Product where Product.P_num>(
select sum(Market.M_need) from Market where Market.P_id=Product.P_id);
子查询使用了查询条件,要结合查询条件来筛选数据。也就是根据P_id的M_need汇总条件来查,不是表里全部M_need汇总来查。
p01 没有,条件比较不成立
p02 50>20+15
p03 30>20
p04 45>10