sql 遍歷結果print和表格形式

select * from tb_province --省spa

pID pName
1 北京市
2 天津市
3 上海市
4 重慶市
5 河北省
6 山西省
.......code

select * from tb_city --城市xml

cID cName pId
19 阿壩藏族羌族自治州 22
8 阿克蘇市 31
4 阿拉爾市 31
12 阿拉善盟 32
22 阿勒泰市 31
6 阿里地區 29
12 阿圖什市 31
9 安康市 27
8 安慶市 13
......blog

select * from tb_city where pid=(select pid from tb_province where pname like '%臺灣%') order by cidci

 --遍歷查詢結果printit

declare @Index int
DECLARE @ccName varchar(50)
DECLARE @Str varchar(1000)
DECLARE @cName varchar(50)
set @cName='臺灣'
set @Index = 1
set @Index = (select count(*) from tb_city where pid=(select pid from tb_province where pname like '%'+@cName+'%'))
declare @BId int 
set @BId=1
set @Str=''
while @BId <= @Index
begin
set @ccName=(select cName from tb_city where cID=@BId and pid=(select pid from tb_province where pname like  '%'+@cName+'%'))
 if(@Str='')
 begin
 set @Str='"'+@ccName+'"'
 end
 else
 begin
  set @Str=@Str+',"'+@ccName+'"'
 end
set @BId=@BId+1;
end
  print(REPLACE(@Str,'',''))

 

--結果class

"臺北","高雄","基隆","臺中","臺南","新竹","嘉義","臺北縣","宜蘭縣","桃園縣","新竹縣","苗栗縣","臺中縣","彰化縣","南投縣","雲林縣","嘉義縣","臺南縣","高雄縣","屏東縣","澎湖縣","臺東縣","花蓮縣"
    select

  select pId,  
Name =  
( 
    stuff 
    ( 
        ( 
            select ',' +  
            cName from tb_city where pId = 
            a.pId    for xml path('') 
        ),1,1,''
    ) 
) from tb_city a group by pId 

結果:遍歷

pId Name
1 北京市
2 天津市
3 上海市
4 重慶市
5 保定市,滄州市,承德市,邯鄲市,衡水市,廊坊市,秦皇島市,石家莊市,唐山市,邢臺市,張家口市
6 長治市,大同市,晉城市,晉中市,臨汾市,呂梁市,朔州市,太原市,忻州市,陽泉市,運城市
7 高雄市,高雄縣,花蓮縣,基隆市,嘉義市,嘉義縣,苗栗縣,南投縣,澎湖縣,屏東縣,臺北市,臺北縣,臺東縣,臺南市,臺南縣,臺中市,臺中縣,桃園縣,新竹市,新竹縣,宜蘭縣,雲林縣,彰化縣查詢

相關文章
相關標籤/搜索