首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么在一个表里,根据某个字段的值合并多行数据?

2012-01-05 
如何在一个表里,根据某个字段的值合并多行数据??先在有一个公司表公司名称公司地址公司电话A地址A空A空648

如何在一个表里,根据某个字段的值合并多行数据??
先在有一个公司表

公司名称     公司地址   公司电话
  A                   地址A           空
  A                   空               64864456543
怎样查询才能得到
公司名称     公司地址     公司电话
A                 地址A               64864456543



[解决办法]
如果只是要消除空值的話可以這樣

select 公司名称, max(公司地址), max(公司电话)
from 公司表
group by 公司名称
[解决办法]
對了,你字段中的 "空 "是指null還是字符 '空 '?
[解决办法]
create function fn_addr(@compId varchar(10))
returns varchar(100)
as
begin
declare @addr varchar(100)
set @addr = ' '
select @addr = @addr + 公司地址 from 公司表 where 公司名称 = @compId
return @addr
end
create function fn_tel(@compId varchar(10))
returns varchar(100)
as
begin
declare @tel varchar(100)
set @atel = ' '
select @tel = @tel + 公司電話 from 公司表 where 公司名称 = @compId
return @tel
end
go

select 公司名称,公司地址 = dbo.fn_addr(公司名称),公司電話= dbo,fn_tel(公司名称) from 公司表

热点排行