sql server 写group by语句外加多表查询,我给A表分组以后,查询结果里就不能出现B表的字段信息了????

请教高手。在线等... 请教高手。在线等 展开
 我来答
flyingFish211
2011-03-17 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
那样当然不行了,group后面必须跟除了聚合函数以外的所有字段。所以必须把a表的结果集当作一个tab再去连接B表才可以

可以这样做
select b.*, t1.*
from (select id, name, max(age) from a group by id,name) t1, b
where t1.xxx = b.xxx加上两个表的连接条件
apodemakeles
推荐于2018-04-04 · TA获得超过154个赞
知道小有建树答主
回答量:125
采纳率:0%
帮助的人:125万
展开全部
可以出现,你的查询语句是先进行多表连接,然后再分组,如果你想在结果中出现B表字段,要么出现的是对B表字段聚合函数的使用(例如:max(B.c1) ),要么就在分组中也把你想要的B字段加进去,如果你分组并不象针对B造成影响,那也可以在结果集中使用子查询
ex1:
select A.id,max(B.c1)
from A,B
where A.id = B.id
group by A.id
ex2:
select A.id,B.name
where A.id = B.id
group by A.id,B.name
ex3:
select A.id,(select B.price where .....) as price
where A.id = B.id
group by A.id
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ThinkIBM
2011-03-17 · TA获得超过5289个赞
知道大有可为答主
回答量:3263
采纳率:0%
帮助的人:5481万
展开全部
用子查询:
select * from (select id from a group by id) z, b where z.id = b.id
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
putx926
2011-03-17 · TA获得超过787个赞
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:158万
展开全部
这样看看你具体是什么情况了,你能提供数据吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式