我写下面的查询是没有任何错误消息但是我看到的问题与输出返回输出:错误与组由在相关子查询内的查询
select productid, productname, categoryid, unitprice
FROM production.products as PP
where unitprice in (select min(unitprice) as minprice
from production.products as PC
group by categoryid)
order by categoryid
go
结果:
24 Product QOGNU 1 4.50
3 Product IMEHJ 2 10.00
19 Product XKXDO 3 9.20
21 Product VJZZH 3 10.00
33 Product ASTMN 4 2.50
52 Product QSRXF 5 7.00
54 Product QAQRL 6 7.45
74 Product BKAZJ 7 10.00
13 Product POXFU 8 6.00
输出显示categoryid = 3的多行。当我们按categoryid分组时,不应该显示每个categoryid只有一行(一分钟单价)。
我哪里错了? 在此先感谢大家的帮助。
您只在子查询中分组。此外,您的'IN'与每个价格相比不是产品类别的价格。选中Tim回答,看看如何使用'JOIN' –