经常遇到的,一个字段显示多字段数据!
2005-01-19 23:23
288 查看
原贴:http://community.csdn.net/Expert/topic/3721/3721293.xml?temp=.4743158
有表內容﹕
編號 內容
A abc
A aaa
A dddd
B 1223
B fkdjfd
....
實現結果﹕
A abc,aaa,dddd
B 1223,fkdjfd
要求用一條SQL實現﹐如﹕select sum(內容) from table group by 編號
--该问题,写一个合并函数,后,分组合并既可!
--测试数据
create Table 表(編號 varchar(20),內容 varchar(20))
insert 表 select 'A','abc'
union all select 'A','aaa'
union all select 'A','dddd'
union all select 'B','1223'
union all select 'B','fkdjfd'
--处理分组合并函数学
Create Function JoinStr(@SNO as varchar(20))
returns varchar(200)
begin
declare @s as varchar(8000)
set @s=''
select @s=@s+','+ltrim(rtrim(內容)) from
(
select 內容 from 表 where 編號=@SNO
)
A
set @s=stuff(@s,1,1,'')
return @s
end
--查询语句
select 編號,dbo.JoinStr(編號) as 内容 from 表 group by 編號
--测试结果:
編號 内容
A abc,aaa,dddd
B 1223,fkdjfd
======用SQL解决方法:
http://community.csdn.net/Expert/topic/4323/4323684.xml?temp=.1937982
table1: News
-----------------------------------------------------------
rsid title subject class
1 天空蓝了 .... 小学文章
-----------------------------------------------------------
table2: ModifyLogs
-----------------------------------------------------------
rsid NewsID Name Memo
1 1 张三 有一些错别字,还需要修改
2 1 张四 成语和一些词语用错
-----------------------------------------------------------
我现在需要用一条语名查询出这样的结果
-----------------------------------------------------------
Unid Title subject Class Name
1 天空蓝了 ..... 小学文章 张三,张四
-----------------------------------------------------------
就是说把只要是修改了该文章的老师的名称显示在一个字段中.....
请问如何实现......
declare @tname varchar(4000)
set @tname=''
select @tname=@tname +rtrim(b.Name)+',' from ModifyLogs b left join News a on a.rsid=b.NewsID
set @tname=left(@tname,len(@tname)-1)
print @tname
select distinct a.rsid as Unida,a.Title,a.subject,a.Class,@tname as name from News a
left join ModifyLogs b on a.rsid=b.NewsID
有表內容﹕
編號 內容
A abc
A aaa
A dddd
B 1223
B fkdjfd
....
實現結果﹕
A abc,aaa,dddd
B 1223,fkdjfd
要求用一條SQL實現﹐如﹕select sum(內容) from table group by 編號
--该问题,写一个合并函数,后,分组合并既可!
--测试数据
create Table 表(編號 varchar(20),內容 varchar(20))
insert 表 select 'A','abc'
union all select 'A','aaa'
union all select 'A','dddd'
union all select 'B','1223'
union all select 'B','fkdjfd'
--处理分组合并函数学
Create Function JoinStr(@SNO as varchar(20))
returns varchar(200)
begin
declare @s as varchar(8000)
set @s=''
select @s=@s+','+ltrim(rtrim(內容)) from
(
select 內容 from 表 where 編號=@SNO
)
A
set @s=stuff(@s,1,1,'')
return @s
end
--查询语句
select 編號,dbo.JoinStr(編號) as 内容 from 表 group by 編號
--测试结果:
編號 内容
A abc,aaa,dddd
B 1223,fkdjfd
======用SQL解决方法:
http://community.csdn.net/Expert/topic/4323/4323684.xml?temp=.1937982
table1: News
-----------------------------------------------------------
rsid title subject class
1 天空蓝了 .... 小学文章
-----------------------------------------------------------
table2: ModifyLogs
-----------------------------------------------------------
rsid NewsID Name Memo
1 1 张三 有一些错别字,还需要修改
2 1 张四 成语和一些词语用错
-----------------------------------------------------------
我现在需要用一条语名查询出这样的结果
-----------------------------------------------------------
Unid Title subject Class Name
1 天空蓝了 ..... 小学文章 张三,张四
-----------------------------------------------------------
就是说把只要是修改了该文章的老师的名称显示在一个字段中.....
请问如何实现......
declare @tname varchar(4000)
set @tname=''
select @tname=@tname +rtrim(b.Name)+',' from ModifyLogs b left join News a on a.rsid=b.NewsID
set @tname=left(@tname,len(@tname)-1)
print @tname
select distinct a.rsid as Unida,a.Title,a.subject,a.Class,@tname as name from News a
left join ModifyLogs b on a.rsid=b.NewsID
相关文章推荐
- 经常遇到的,一个字段显示多字段数据(精典)
- SQL中将某个表中的多行数据在一个字段显示
- DataGridView (四)将一个字段绑定到多列逐行显示后取值还原数据格式
- 多行数据用json格式插入到一个字段中,然后再分别显示在不同表格增删改查
- 获取一个网页数据返回的编码类型是gzip,解压后,网页中包含的中文字段变成了乱码,只需要把编码更改为BIG5 ,繁体字就正常显示了!
- 关于点击某个字段的时候弹出一个dialog的方法(显示dialog里面datagrid的表的数据)
- QTableview QSqlTableModel如何最恰当地只显示一个表中的某几个字段的数据
- ireport报表制作, 当一个字段显示的数据太多时(数据过长),则需要自动换行
- [SQL]SQL中把一个字段的数据分多行显示
- 在plsql中,总是遇到在clob类型字段上存储数据出错--字符串太长,现在有一个比较简单的解决办法
- Android RecyclerView经常遇到不能显示数据或只显示一行数据的问题
- 一个字段的数据分多行显示
- 今天写了一个使用TreeView显示年-月-日-数据的四级格式(数据库表只有一个日期字段)
- 修改某一字段的数据类型(经常遇到的问题)
- 两个表中多个字段相同,查询一个中有在另一个表中没有的数据
- 一个流氓的SQL设计,备份(一个字段存多个数据)
- 将多组数据显示在一个控件内
- Axis1.4 WebService客户端获取数据遇到的一个错误
- 学习K&R时初学者经常遇到的一个问题——EOF