select * from tb_province --省

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

select * from tb_city --城市

cID cName pId
19 阿坝藏族羌族自治州 22
8 阿克苏市 31
4 阿拉尔市 31
12 阿拉善盟 32
22 阿勒泰市 31
6 阿里地区 29
12 阿图什市 31
9 安康市 27
8 安庆市 13
......

select * from tb_city where pid=(select pid from tb_province where pname like '%台湾%') order by cid

--遍历查询结果print

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,'市',''))

--结果

"台北","高雄","基隆","台中","台南","新竹","嘉义","台北县","宜兰县","桃园县","新竹县","苗栗县","台中县","彰化县","南投县","云林县","嘉义县","台南县","高雄县","屏东县","澎湖县","台东县","花莲县"

  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 高雄市,高雄县,花莲县,基隆市,嘉义市,嘉义县,苗栗县,南投县,澎湖县,屏东县,台北市,台北县,台东县,台南市,台南县,台中市,台中县,桃园县,新竹市,新竹县,宜兰县,云林县,彰化县

sql 遍历结果print和表格形式的更多相关文章

  1. 利用PHP实现登录与注册功能以及使用PHP读取mysql数据库——以表格形式显示数据

    登录界面 <body><form action="login1.php" method="post"><div>用户名:&l ...

  2. jsp+oracle实现数据库内容以表格形式在前台显示(包含分页)

    jsp+oracle实现数据库内容以表格形式在前台显示(包含分页) 在文件夹内新增list_emp.jsp 代码如下: <%@ page contentType="text/html& ...

  3. Sql遍历数据库

    Sql遍历数据库 set nocount on ) ) ) set @str='ad' Declare cur_Depart Cursor For select name,id from syscol ...

  4. python如何以表格形式打印输出

    好久不见,风水轮流转,我竟然写写写python了 近日有个小需求,要求收集统计一些信息上报,并直接在后台控制台打印,写入日志 为了美观,需要以表格形式展现数据,形如 虽说可以用 prettytable ...

  5. SQL 关于apply的两种形式cross apply 和 outer apply

    SQL 关于apply的两种形式cross apply 和 outer apply 例子: CREATE TABLE [dbo].[Customers]( ) COLLATE Chinese_PRC_ ...

  6. SQL关于apply的两种形式cross apply和outer apply(转载)

    SQL 关于apply的两种形式cross apply 和 outer apply   apply有两种形式: cross apply 和 outer apply   先看看语法:   <lef ...

  7. word模板导出的几种方式:第一种:占位符替换模板导出(只适用于word中含有表格形式的)

    1.占位符替换模板导出(只适用于word中含有表格形式的): /// <summary> /// 使用替换模板进行到处word文件 /// </summary> public ...

  8. 后端list集合中的数据传递到前台HTML中显示(表格形式)

    关键字:web项目中前后台数据传递问题 在学习web项目的过程中,我们肯定会遇到前后台数据交换问题.这个问题我也思考了很久,今天借此总结一下.由于博主水平有限,如有不当之处,还请大家多多指正,,废话不 ...

  9. 转:SQL 关于apply的两种形式cross apply 和 outer apply

    原文地址:http://www.cnblogs.com/Leo_wl/archive/2013/04/02/2997012.html SQL 关于apply的两种形式cross apply 和 out ...

随机推荐

  1. linux命令合集

    序:介绍一些经常需要用到的Linux命令. 一.wget 作用:下载网络文件,将远程服务器文件恢复备份到本地. wget http://cn.wordpress.org/wordpress-3.1-z ...

  2. editplus快捷键大全之editplus搜索快捷键

    前面我们说了editplus快捷键大全之editplus文件快捷键和editplus快捷键大全之editplus光标快捷键,editplus快捷键大全之editplus编辑快捷键这里我们讲一下edit ...

  3. Rescue

    1039: Rescue Time Limit: 1 Sec  Memory Limit: 32 MBSubmit: 1320  Solved: 306 Description Angel was c ...

  4. Sql分隔字符串方法--split

    SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --DEClARE @str varchar(500)='a,b2,v5,d3,ew,2,3,dd' ...

  5. UVa 11210 - Chinese Mahjong

    解题报告:麻将的规则这里就不说了,这题我们可以用暴力的方法,所以我们应该这样枚举,即将34张牌的每一张牌都放到原来的十三张牌里面去,所以这时我们只要判断这十四张牌能不能胡,因为若要胡的话一定要有一个对 ...

  6. NGUI的部分控件无法更改layer?

    http://momowing.diandian.com/post/2012-09-17/40038835795 今天狗日的遇到这样的问题,这是一个imagebutton:,它的层定义为:,NGUI里 ...

  7. IOS APP的所有图标尺寸规范

    转自: http://blog.csdn.net/chonbj/article/details/25133247 像我一样记不住iOS应用图标像素尺寸的开发者不在少数,我经常需要查询不同设备上的应用尺 ...

  8. linux 系统下查看raid信息,以及磁盘信息

    有时想知道服务器上有几块磁盘,如果没有做raid,则可以简单使用fdisk -l  就可以看到. 但是做了raid呢,这样就看不出来了.那么如何查看服务器上做了raid? 软件raid:只能通过Lin ...

  9. smarty模版出现错误提示出现了不期望的字符

    2013年7月5日 08:38:49 提示 unexpected "字符或字符串" 查找前边的代码,看是否有字符串单引号或双引号没有成对出现的情况

  10. 低配置电脑播放 flash 视频时 占 cpu 资源过高的解决方法

    安装低版本的 flash player 版本, 经调试能满足播放的最低版本是 Flash Player 10.3.183.90 然后 firefox 3.6.28 + Adblock Plus 2.0 ...