sql中有子查询如何group by!

select(selectu.use002fromysdata.dbo.xtuseuwhereg.gzl010=u.use001)asbm,g.gzl011,g.gzl0... select (select u.use002 from ysdata.dbo.xtuse u where g.gzl010 = u.use001) as bm,
g.gzl011,g.gzl002,g.gzl005,sum(datediff(MI,g.gzl006,g.gzl007))
from ysbook_010.dbo.ysgzl g
group by bm,g.gzl011,g.gzl002,g.gzl005
这样bm无效,去掉又不行。要怎么办?
展开
 我来答
raymonshi
2013-05-13 · TA获得超过490个赞
知道小有建树答主
回答量:416
采纳率:100%
帮助的人:248万
展开全部
select (select u.use002 from ysdata.dbo.xtuse u where g.gzl010 = u.use001) as bm,
g.gzl011,g.gzl002,g.gzl005,sum(datediff(MI,g.gzl006,g.gzl007))
from ysbook_010.dbo.ysgzl g
group by g.gzl010,g.gzl011,g.gzl002,g.gzl005
把bm换成g.gzl010
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
情又独中
推荐于2016-01-24 · TA获得超过1032个赞
知道小有建树答主
回答量:1220
采纳率:100%
帮助的人:831万
展开全部
你可以这样写select u.use002,
g.gzl011,g.gzl002,g.gzl005,sum(datediff(MI,g.gzl006,g.gzl007))
from ysbook_010.dbo.ysgzl g,ysdata.dbo.xtuse u
where g.gzl010 = u.use001
group u.use002,g.gzl011,g.gzl002,g.gzl005
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
传奇勇者
2013-05-13 · TA获得超过747个赞
知道大有可为答主
回答量:1706
采纳率:75%
帮助的人:813万
展开全部
你这个又要嵌套又要汇总的查询,效率肯定不高,写一个存储过程,先分别查询出来,然后在合并起来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b39399b
2013-05-13 · TA获得超过184个赞
知道小有建树答主
回答量:334
采纳率:100%
帮助的人:165万
展开全部
AS只是对这一列起了个别名吧,你试试group by u.use002...或者bm.u.use002....呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式