请高手查看一条SQL语句的问题 谢谢!在线等
select a.bnumber,a.total,a.cheakqty,b.barcode,b.boxnumber,b.carnumber,b.note from result a,miss b where a.bnumber='111' and a.bnumber=b.bnumber group by b.boxnumber order by b.carnumber asc
错误提示:
消息 8120,级别 16,状态 1,第 1 行
选择列表中的列 'result.bnumber' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
该怎么改? 谢谢!
------解决方案--------------------select a.bnumber,a.total,a.cheakqty,b.barcode,b.boxnumber,b.carnumber,b.note from result a,miss b where a.bnumber='111' and a.bnumber=b.bnumber order by b.carnumber asc
------解决方案--------------------用Group,一般要有聚合函数的,如按照boxnumber分组后,你要计算什么,count还是sum,然后除了在count或sum里的列都加到group中。
SELECT a.bnumber
,a.total
,a.cheakqty
,b.barcode
,b.boxnumber
,sum(b.carnumber)
,b.note
FROM result a
,miss b
WHERE a.bnumber = '111'
AND a.bnumber = b.bnumber
GROUP BY b.boxnumber,b.barcode,a.cheakqty,a.total,a.bnumber,b.note
ORDER BY b.carnumber ASC
------解决方案--------------------select a.bnumber,a.total,a.cheakqty,b.barcode,b.boxnumber,b.carnumber,b.note
from result a,miss b
where a.bnumber='111' and a.bnumber=b.bnumber
group by a.bnumber,a.total,a.cheakqty,b.barcode,b.boxnumber,b.carnumber,b.note
order by b.carnumber asc 试试这样看可以不
------解决方案--------------------不知道你想达到什么效果。
你8#得到的效果,和不加group by得到的是一样的
------解决方案--------------------查询的列没有聚合函数的都要放在group by 那里去的。