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无效,去掉又不行。要怎么办? 展开
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无效,去掉又不行。要怎么办? 展开
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以这样写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
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
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个又要嵌套又要汇总的查询,效率肯定不高,写一个存储过程,先分别查询出来,然后在合并起来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
AS只是对这一列起了个别名吧,你试试group by u.use002...或者bm.u.use002....呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询