收录日期:2019/03/21 00:23:42 时间:2016/05/18 03:14:25 标签:基础类
有二个表.一是主表A.另一是副表.B  
A      中记录.    
01    主内容1    昵称1      
02    主内容2    昵称2      
03    主内容3    昵称3      
B      中记录    
01    内容1  
01    内容2  
01    内容3  
02    内容4  
02    内容5  
03    内容6  
 
我要生成的结果是  
 
01  主内容1  昵称1    内容1,内容2,内容3  
02  主内容2  昵称2    内容4,内容5  
03  主内容3  昵称3    内容6  

表:
 a     b
aa1    2002-1-2
aa1    2002-1-3
aa1    2002-1-6
aa1    2002-1-7
aa2    2002-1-8
aa2    2002-1-6
aa2    2002-1-5
aa3    2002-1-6
aa3    2002-1-5

显示为
a    b    c
aa1   4    2002-1-2,2002-1-3,2002-1-6,2002-1-7
aa2   3    2002-1-8,2002-1-6,2002-1-6
aa3   2    2002-1-6,2002-1-5

create function getstr(@a varchar(10))
returns varchar(1000)
as 
begin
declare @str varchar(8000)
set @str=''
select @str=@str+','+b from 表 where a=@a
set @str=right(@str,len(@str)-1)
return @str
end
go

-----调用:
select a,count(*) b ,dbo.getstr(a) c from 表 group by a
  
 
出自:pengdali(大力)  
高!
use Northwind
go

if exists(select name from sysobjects where name='tblA' and xtype='U')
   drop table tblA
if exists(select name from sysobjects where name='tblB' and xtype='U')
   drop table tblB
if exists(select name from sysobjects where name='selB' and xtype='FN')
   drop function selB

create table tblA(
  ID varchar(3) not null primary key,
  content varchar(10) not null,
  name varchar(10) not null
)

create table tblB(
  ID varchar(3) not null,
  hobby varchar(10) not null
)

insert tblA values('01',    '主内容1',    '昵称1')      
insert tblA values('02',    '主内容2',    '昵称2')      
insert tblA values('03',    '主内容3',    '昵称3')      

insert tblB values('01',    '内容1')
insert tblB values('01',    '内容2')
insert tblB values('01',    '内容3')
insert tblB values('02',    '内容4')
insert tblB values('02',    '内容5')
insert tblB values('03',    '内容6')

go 
create function selB(@ID varchar(3))
returns varchar(800)
as
begin
  declare @hob varchar(800)
  set @hob = ''
  select @hob = @hob + hobby +',' from tblB where ID = @ID
  set @hob = substring(@hob,1,len(@hob)-1)
  return @hob
end
go

select ID, content, name, dbo.selB(ID) from tblA order by ID
SQL7中没有FUNCTION
这样设计数据库有问题,数据多了之后查询效率比较低。
gz
我想上面是最好的解决方法了
好像还没见到过更好的方法

上面的方法已经堪称经典了


活活

收藏一下

关于RadioButton选中的问题 一个比较复杂的css问题,关于button的样式 关于检测COOKIES是否存在的问题 正则表达式性能问题 response.setHeader(\"Content-Disposition\")在Tomcat5.5中可用,在6.0中失效 请问网页音乐播放器是如何换页不换歌的? java的一个大list如何分成多个list,比如在一个list取相同值,在相同值中再取第一个值及最后一个值 EL表达式怎么取对象中的对象的属性?谢谢各位 DM0024:All Threads are Suspended VB里,别的窗体如何操作Connect创建的按钮 在websphere环境下,如何用脚本创建连接池而不是在控制台 正则表达式性能问题 如何让xml字符串按xml格式展示 单向链表/双向链表?你何时用哪个?为何这样选择? 悬赏,望赐教... 请高手帮我看一下事务处理程序怎么不起作用呢 问resultSet 的问题 请高手帮我看一下事务处理程序怎么不起作用呢 属性页自定义按钮添加问题 办公室网络共享问题 test 代码加密问题 办公室网络共享问题 MSSQL VS2005 运行不在任务管理器中显示 关于服务器挂马问题。访问网站时,发现源文件发现第一行多了代码: zend guard 5问题 dbger来领分了,谢谢了哈 拉动条的问题(iframe) JS 检测IE和火狐! Frame中页面跳转总是弹出新页面