这个SQL语句怎么写?

love16 2005-08-29 07:43:08
表一:
fangabh duifbsh yishj shenhe
----------- ----------- ----- ----------
CJH00001281 lh 否 否
CJH00001281 mgs 否 否
CJH00001281 sd 否 否
CJH00001281 wzyq 否 否
CJH00001282 lh 是 否
CJH00001284 wzyq 否 否

表二:
duifbsh duifname
----------- ------------------------------
mgs mmmm
sd ssss
wzyq wwww
mhb bbbb
lh llll

我用查询得出
select a.fangabh,b.duifname
from tiaojfafz a,lsdtxb b
where a.duifbsh=b.duifbsh and a.yishj='否'and a.shenhe<>'是'
这个结果:
fangabh duifname
----------- ----------------------
CJH00001281 llll
CJH00001281 mmmm
CJH00001281 ssss
CJH00001281 wwww
CJH00001284 wwww

现在我想得到这个结果:
若fangabh相同,则duifname合并,就像这样子:
fangabh duifname
----------- ----------------------
CJH00001281 llll,mmmm,ssss,wwww
CJH00001284 wwww

怎么写语句,请各位帮忙!




...全文
114 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
love16 2005-08-29
  • 打赏
  • 举报
回复
能不能直接用SQL语句得到呢?
撸大湿 2005-08-29
  • 打赏
  • 举报
回复
写个函数
create function getstr(@fangabh nvarchar(4000))
returns Nvarchar(4000)
as
begin
declare @str Nvarchar(2000)
set @str=N''
select @str=@str+rtrim(x.duifname)+N',' from (select a.fangabh,b.duifname from tiaojfafz a,lsdtxb b where a.duifbsh=b.duifbsh and a.yishj='否'and a.shenhe<>'是') x group by where
x.fangabh= @fangabh
if @str<>N''
set @str=left(@str,len(@str)-1)
else
set @str=''
return @str
end


然后调用这个函数
select a.fangabh,dbo.getstr(a.fangabh) from tiaojfafz a,lsdtxb b where a.duifbsh=b.duifbsh and a.yishj='否'and a.shenhe<>'是' group by a.fangabh
vivianfdlpw 2005-08-29
  • 打赏
  • 举报
回复
create function f_str(@fangabh varchar(20))
returns varchar(8000)
as
begin
declare @str varchar(80000
set @str=''
select @str=@str+','+duifname from 表二
where duifbsh in (
select duifbsh from 表一
where
fangabh=@fangabh and
yishj='否' and
shenhe<>'是'
)

if @str is null
return ''

return stuff(@str,1,1,'')
end
go

--查询
select fangabh,
[duifname]=dbo.f_str(fangabh)
from 表一
where yishj='否' and shenhe<>'是'
group by fangabh

34,589

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧