SQL 中的一点问题(sum(), group by )
物品表:字段:主键,物品编码,物品名称,库存数量,出库数量select物品主键,sum(库存数量)ass1,sum(出库数量)ass2from物品表groupby物品主键...
物品表:
字段:主键,物品编码,物品名称,库存数量,出库数量
select 物品主键,sum(库存数量) as s1,sum(出库数量) as s2
from 物品表
group by 物品主键
结果:
主键 s1 s2
XXX XX XX
我希望通过还能得到主键XXX的物品编码和物品名称,应该怎么做? 展开
字段:主键,物品编码,物品名称,库存数量,出库数量
select 物品主键,sum(库存数量) as s1,sum(出库数量) as s2
from 物品表
group by 物品主键
结果:
主键 s1 s2
XXX XX XX
我希望通过还能得到主键XXX的物品编码和物品名称,应该怎么做? 展开
展开全部
建议:
把 物品编码,物品名称 加入到 select 字段列表中,和 group by 字段列表中。
把 物品编码,物品名称 加入到 select 字段列表中,和 group by 字段列表中。
追问
结果:
主键 s1 s2
XXX XX XX
我想在这个基础上,根据主键获得物品名称,编码
如果直接放到group by 后面,那样的结果不是我要的
简单的说:group by 物品主键 能得到两条记录,
group by 物品主键,物品编码,物品名称 却能得到大于两条记录
我要的结果还是那两条记录,只不过在这两条记录上又添加了两个字段
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在group by这样的sql语句中,select的选择列表中的字段必须出现在组函数或group by子句中。所以你可以
group by 主键,物品编码,物品名称
group by 主键,物品编码,物品名称
更多追问追答
追问
结果:
主键 s1 s2
XXX XX XX
我想在这个基础上,根据主键获得物品名称,编码
如果直接放到group by 后面,那样的结果不是我要的
简单的说:group by 物品主键 能得到两条记录,
group by 物品主键,物品编码,物品名称 却能得到大于两条记录
我要的结果还是那两条记录,只不过在这两条记录上又添加了两个字段
追答
select的选择列表中的字段必须出现在组函数或group by子句中,所以你的要求不能实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select 物品主键,物品编码,物品名称,sum(库存数量) as s1,sum(出库数量) as s2
from 物品表
group by 物品主键,物品编码,物品名称
from 物品表
group by 物品主键,物品编码,物品名称
更多追问追答
追问
结果:
主键 s1 s2
XXX XX XX
我想在这个基础上,根据主键获得物品名称,编码
如果直接放到group by 后面,那样的结果不是我要的
简单的说:group by 物品主键 能得到两条记录,
group by 物品主键,物品编码,物品名称 却能得到大于两条记录
我要的结果还是那两条记录,只不过在这两条记录上又添加了两个字段
追答
select A.主键,A.物品编码,A.物品名称,B.S1,B.S2
from 物品表 A,
(
select 物品主键,sum(库存数量) as s1,sum(出库数量) as s2
from 物品表
group by 物品主键
) B
WHERE A.主键= B 物品主键
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询