以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  怎样在查询时将同一客户的所有联系记录都 合并在一个字段内?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=16394)

--  作者:jinruan
--  发布时间:2012/2/13 10:34:00
--  怎样在查询时将同一客户的所有联系记录都 合并在一个字段内?
请教:怎样在查询时将同一客户的所有联系记录都 合并在一个字段内

共两个表
一个客户主表 tel:
字段如下
ord(客户编号) name(客户名称)

另一是与客户相关联系记录表reply:
字段如下:
id(记录ID)  ord(客户编号)  intro(联系记录)

怎样在查询时将同一客户的所有联系记录都 合并在一个字段内:

ord(客户编号) name(客户名称)intros(连接后的联系记录)

--  作者:狐狸爸爸
--  发布时间:2012/2/13 10:42:00
--  

没有办法,只有写代码,只是这样做有意义吗? 关联表不是很清晰吗?

 


--  作者:jinruan
--  发布时间:2012/2/13 14:50:00
--  

已有关联,实际上是业务员每周打跟进客户报表时需要所有的跟进记录汇总下


网上找到如下参考解决了

-----多行记录结果合并为一列------
select   province, dbo.fun_GetProvinceCity(province) as CName  from   city
group   by   province

if  object_id(\'fun_GetProvinceCity\') is not null
      drop  function fun_GetProvinceCity
GO
create  function  fun_GetProvinceCity(@proviceName varchar(50))
     returns varchar(8000)
AS
begin
     declare @cityName varchar(8000)
     set  @cityName=\'\'
     select  @cityName=@cityName+\',\'+CName   from   city   where  province=@proviceName
     return   stuff(@cityName,1,1,\'\')
end

------------------返回结果---------------------
/*
province  CName
广东省   广州,深圳,佛山
湖南省   邵阳,岳阳,衡阳,永州,株洲,长沙
江西省   南昌
*/