日期:2014-05-19  浏览次数:20368 次

【求助】诚寻有点难度的查询语句,最好不用过程来实现
查询父表的所有记录,但需要增加一个新字段,该字段内容为对应的子表字段A的所有内容即:
该字段内容表现形式如例子:

假设父表ID为120的对应子表内容如下:

id           A
120       语文
120       数学
120       英语
....

SELECT得到的父表的最终结果中   ID为120的新字段内容为:语文,数学,英语

上面的例子说明新字段的内容来源方式。

请问这样的SELECT该如何编写,谢谢!!



------解决方案--------------------
所给的信息太少。
‘父表ID为120的对应子表内容’
是怎么对应的?
------解决方案--------------------
做个 函数差不多,哪能一句呀
------解决方案--------------------
--写一个函数来实现,速度应该是很快的,楼主可以试下
create function fn_str(@id int)
returns varchar(4000)
as
begin
declare @re varchar(4000)
set @re= ' '
select @re=@re+ ', '+a from 子表 where id=@id
return stuff(@re,1,1, ' ')
end
go

--test
select id,名姓,新字段=fn_str(id) from 父表