数据库group by 问题

select*frombook查出结果idnametype1《体育科学》科学类型1《体育科学》体育类型想用groupby分组id,使查询结果是1《科学体育》科学类型,体育... select * from book查出结果

id name type
1 《体育科学》 科学类型
1 《体育科学》 体育类型

想用group by分组 id,
使查询结果是 1 《科学体育》 科学类型,体育类型
sql server 2000
展开
 我来答
百度网友32b42aca8
2010-12-02
知道答主
回答量:12
采纳率:0%
帮助的人:15.7万
展开全部
sqlserver:写一个函数然后调用
第一步:function [dbo].[fun_type](@id "id的类型",name "name的类型")
returns varchar(1000)
as
begin
declare @temp varchar(1000)
set @temp = ''
select @temp = @temp+','+type from book where id = @id and name = @name set @temp = stuff(@temp,1,1,'')
return @temp
end
第二步:调用函数
select id,name,fun_type(id,name) as type from book group by id,name
查询出来的结果为:
id name type
1 《体育科学》 科学类型,体育类型
莱伯泰科
2024-10-28 广告
LabTech Group,即北京莱伯泰科仪器股份有限公司,是业界领先的实验室科学仪器与解决方案提供商。我们专注于分析测试仪器的研发、生产和销售,致力于为全球科研工作者、高校及企业实验室提供高性能、高稳定性的产品与服务。通过持续的技术创新与... 点击进入详情页
本回答由莱伯泰科提供
谈论用户名
2010-12-02 · TA获得超过1189个赞
知道小有建树答主
回答量:3981
采纳率:21%
帮助的人:1066万
展开全部
你用的是什么数据库,是oracle,还是SQLSERVER?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ylongshao1987
2010-12-02 · TA获得超过9811个赞
知道小有建树答主
回答量:1277
采纳率:100%
帮助的人:709万
展开全部
直接给你个sql吧,
select s1.id,s1.name,concat(s1.type,s2,',','s2.type) as type from book s1 left join book s2 where s1.type <>s2.book group by s1.id;
运用concat字符串函数和链表查询,只不过,你这个表的设计应该好好想想,这样不是很好,很多冗余,就两条记录,你就重复了两个字段的值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式