日期:2014-05-18  浏览次数:20469 次

求SQL语句~~
id               portname
1 HongKong
2 高雄
3 他科马
4 奥克兰
5 檀香山
6 关岛
..               ..

用一条SQL语句实现这样的结果:
EX   HongKong   TO   关岛(高雄,他科马,奥克兰,关岛)



------解决方案--------------------
没明白想要什么结果?
------解决方案--------------------
id portname
1 HongKong
2 高雄
3 他科马
4 奥克兰
5 檀香山
6 关岛
.. ..

用一条SQL语句实现这样的结果:
EX HongKong TO 关岛(高雄,他科马,奥克兰,关岛)

关岛两次,檀香山没了,没看懂
------解决方案--------------------
create proc
(
@namefrom varchar(20),
@nameto varcahr(20)
)
as
declare @idfrom int,@idto int
declare @str varchar(8000)
declare @sql varchar(8000)
select @str = ' ',@sql = ' '
select @idfrom = id from tb1 where portname = @namefrom
select @idto = id from tb1 where portname = @nameto
select @str = @str + ', ' + portname from tb1 where id between @idfrom and @idto
set @str = stuff(@str,1,1, ' ')
set @str = suff(@str,1,charindex( ', ',@str), ' ')
set @sql = @sql+ 'select EX '+ @namefrom + 'TO ' + @nameto + '= ' ' '+ @str+ ' ' ' '
exec(@sql)