热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

sqlserver游标嵌套使用

--select*fromprovinceleftjoincityoncity.fatherIDprovince.provinceId--groupbyprovince
--select * from province left join city on city.fatherID=province.provinceId  --group by province.provinceId
declare @id int ,
@temp nvarchar(20),
@str nvarchar(2000)
declare myCursor cursor
for select provinceId from province

create table #cc
(
  id int,
  citys nvarchar(300)
)

open myCursor
fetch next from myCursor into @id
print  'aa'+cast(@id as varchar)
while(@@fetch_status=0)
begin
	set @str=''
	declare cc cursor
	for select city from city where fatherId=@id
	open cc
	fetch next from cc into @temp
	set @str=@str+','+@temp
    print  @id
	while(@@fetch_status=0)
	begin
		fetch next from cc into @temp
		set @str=@str+','+@temp
	 end
	insert into #cc select @id,@str
    fetch next from myCursor into  @id
  
  close cc
  deallocate  cc
end
 close myCursor
  deallocate  myCursor

select * from #cc 
left join 
province  T1
on T1.provinceId=#cc.id

drop table #cc

  结果为

110000 ,市辖区,县,县 1 110000 北京市
120000 ,市辖区,县,县 2 120000 天津市
130000 ,石家庄市,唐山市,秦皇岛市,邯郸市,邢台市,保定市,张家口市,承德市,沧州市,廊坊市,衡水市,衡水市 3 130000 河北省
140000 ,太原市,大同市,阳泉市,长治市,晋城市,朔州市,晋中市,运城市,忻州市,临汾市,吕梁市,吕梁市 4 140000 山西省
150000 ,呼和浩特市,包头市,乌海市,赤峰市,通辽市,鄂尔多斯市,呼伦贝尔市,巴彦淖尔市,乌兰察布市,兴安盟,锡林郭勒盟,阿拉善盟,阿拉善盟 5 150000 内蒙古自治区
210000 ,沈阳市,大连市,鞍山市,抚顺市,本溪市,丹东市,锦州市,营口市,阜新市,辽阳市,盘锦市,铁岭市,朝阳市,葫芦岛市,葫芦岛市 6 210000 辽宁省
220000 ,长春市,吉林市,四平市,辽源市,通化市,白山市,松原市,白城市,延边朝鲜族自治州,延边朝鲜族自治州 7 220000 吉林省
230000 ,哈尔滨市,齐齐哈尔市,鸡西市,鹤岗市,双鸭山市,大庆市,伊春市,佳木斯市,七台河市,牡丹江市,黑河市,绥化市,大兴安岭地区,大兴安岭地区 8 230000 黑龙江省
310000 ,市辖区,县,县 9 310000 上海市
320000 ,南京市,无锡市,徐州市,常州市,苏州市,南通市,连云港市,淮安市,盐城市,扬州市,镇江市,泰州市,宿迁市,宿迁市 10 320000 江苏省
330000 ,杭州市,宁波市,温州市,嘉兴市,湖州市,绍兴市,金华市,衢州市,舟山市,台州市,丽水市,丽水市 11 330000 浙江省
340000 ,合肥市,芜湖市,蚌埠市,淮南市,马鞍山市,淮北市,铜陵市,安庆市,黄山市,滁州市,阜阳市,宿州市,巢湖市,六安市,亳州市,池州市,宣城市,宣城市 12 340000 安徽省
350000 ,福州市,厦门市,莆田市,三明市,泉州市,漳州市,南平市,龙岩市,宁德市,宁德市 13 350000 福建省
360000 ,南昌市,景德镇市,萍乡市,九江市,新余市,鹰潭市,赣州市,吉安市,宜春市,抚州市,上饶市,上饶市 14 360000 江西省
370000 ,济南市,青岛市,淄博市,枣庄市,东营市,烟台市,潍坊市,济宁市,泰安市,威海市,日照市,莱芜市,临沂市,德州市,聊城市,滨州市,荷泽市,荷泽市 15 370000 山东省
410000 ,郑州市,开封市,洛阳市,平顶山市,安阳市,鹤壁市,新乡市,焦作市,濮阳市,许昌市,漯河市,三门峡市,南阳市,商丘市,信阳市,周口市,驻马店市,驻马店市 16 410000 河南省
420000 ,武汉市,黄石市,十堰市,宜昌市,襄樊市,鄂州市,荆门市,孝感市,荆州市,黄冈市,咸宁市,随州市,恩施土家族苗族自治州,省直辖行政单位,省直辖行政单位 17 420000 湖北省
430000 ,长沙市,株洲市,湘潭市,衡阳市,邵阳市,岳阳市,常德市,张家界市,益阳市,郴州市,永州市,怀化市,娄底市,湘西土家族苗族自治州,湘西土家族苗族自治州 18 430000 湖南省
440000 ,广州市,韶关市,深圳市,珠海市,汕头市,佛山市,江门市,湛江市,茂名市,肇庆市,惠州市,梅州市,汕尾市,河源市,阳江市,清远市,东莞市,中山市,潮州市,揭阳市,云浮市,云浮市 19 440000 广东省
450000 ,南宁市,柳州市,桂林市,梧州市,北海市,防城港市,钦州市,贵港市,玉林市,百色市,贺州市,河池市,来宾市,崇左市,崇左市 20 450000 广西壮族自治区
460000 ,海口市,三亚市,省直辖县级行政单位,省直辖县级行政单位 21 460000 海南省
500000 ,市辖区,县,市,市 22 500000 重庆市
510000 ,成都市,自贡市,攀枝花市,泸州市,德阳市,绵阳市,广元市,遂宁市,内江市,乐山市,南充市,眉山市,宜宾市,广安市,达州市,雅安市,巴中市,资阳市,阿坝藏族羌族自治州,甘孜藏族自治州,凉山彝族自治州,凉山彝族自治州 23 510000 四川省
520000 ,贵阳市,六盘水市,遵义市,安顺市,铜仁地区,黔西南布依族苗族自治州,毕节地区,黔东南苗族侗族自治州,黔南布依族苗族自治州,黔南布依族苗族自治州 24 520000 贵州省
530000 ,昆明市,曲靖市,玉溪市,保山市,昭通市,丽江市,思茅市,临沧市,楚雄彝族自治州,红河哈尼族彝族自治州,文山壮族苗族自治州,西双版纳傣族自治州,大理白族自治州,德宏傣族景颇族自治州,怒江傈僳族自治州,迪庆藏族自治州,迪庆藏族自治州 25 530000 云南省
540000 ,拉萨市,昌都地区,山南地区,日喀则地区,那曲地区,阿里地区,林芝地区,林芝地区 26 540000 西藏自治区
610000 ,西安市,铜川市,宝鸡市,咸阳市,渭南市,延安市,汉中市,榆林市,安康市,商洛市,商洛市 27 610000 陕西省
620000 ,兰州市,嘉峪关市,金昌市,白银市,天水市,武威市,张掖市,平凉市,酒泉市,庆阳市,定西市,陇南市,临夏回族自治州,甘南藏族自治州,甘南藏族自治州 28 620000 甘肃省
630000 ,西宁市,海东地区,海北藏族自治州,黄南藏族自治州,海南藏族自治州,果洛藏族自治州,玉树藏族自治州,海西蒙古族藏族自治州,海西蒙古族藏族自治州 29 630000 青海省
640000 ,银川市,石嘴山市,吴忠市,固原市,中卫市,中卫市 30 640000 宁夏回族自治区
650000 ,乌鲁木齐市,克拉玛依市,吐鲁番地区,哈密地区,昌吉回族自治州,博尔塔拉蒙古自治州,巴音郭楞蒙古自治州,阿克苏地区,克孜勒苏柯尔克孜自治州,喀什地区,和田地区,伊犁哈萨克自治州,塔城地区,阿勒泰地区,省直辖行政单位,省直辖行政单位 31 650000 新疆维吾尔自治区
710000 ,省直辖行政单位 32 710000 台湾省
810000 ,省直辖行政单位 33 810000 香港特别行政区
820000 ,省直辖行政单位 34 820000 澳门特别行政区


推荐阅读
  • MySQL的SQL语句写法,除了那些基本的之外,还有一些也算比较常用的,这里记录下来,以便以后查找。好记性不如烂笔头& ... [详细]
  • 你到底是如何存储XML的?以下对我有用:createtablet(c1varchar2(1000));insertintotval ... [详细]
  • ---------建表 table1,tabel2---------createtabletable1(idint,namevarchar(20))createtabletable2(i ... [详细]
  • 本文介绍了游标的使用方法,并以一个水果供应商数据库为例进行了说明。首先创建了一个名为fruits的表,包含了水果的id、供应商id、名称和价格等字段。然后使用游标查询了水果的名称和价格,并将结果输出。最后对游标进行了关闭操作。通过本文可以了解到游标在数据库操作中的应用。 ... [详细]
  • oracle text db2,从Oracle 到DB2(一)
    在实际的软件项目的开发过程中,特别是在企业的应用系统集成(EAI)项目中广大开发人员经常遇到不同关系型数据库之间的数据移植问题。笔者根据自己在工作中的不同数据库数据移 ... [详细]
  • linux json 写sql注入,sql注入之json注入(php代码)
    环境phpstudyphp服务端代码security数据库中的users表中的username,password字段用户名adminJSON服务端代码大家实际测试中注 ... [详细]
  • 如何实现Percona Mysql Galera多读写集群的部署
    本篇文章给大家主要讲的是关于如何实现PerconaMysqlGalera多读写集群的部署的内容,感兴趣的话就一起来看看这篇文章吧,相信看完如何实现PerconaMysq ... [详细]
  • ORACLE常用SQL技巧
    2019独角兽企业重金招聘Python工程师标准ORACLE常用SQL技巧1.SELECT子句中避免使用“*”当你想在SELECT子句中列出所有的COLUMN时,使用动态SQ ... [详细]
  • DimcnAsNewADODB.ConnectionDimcmdAsNewADODB.CommandDimrstAsNewADODB.Recordsetcn.Mod ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
  • 从分布式数据库选型的第一件事谈起
    本文很长,谨慎阅读现在在我们的面前摆着太多的分布式数据库可以让我们选择,那么如果我想先让 ... [详细]
  • 本文介绍了在SQL中查询分组后每组行数的统计方法。通过使用count()函数和GROUP BY子句可以统计每组的行数,但是如何统计所有组的行数呢?本文提供了一种实现方法,并给出了相应的SQL查询语句。 ... [详细]
  • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • 本文介绍了如何使用PHP代码将表格导出为UTF8格式的Excel文件。首先,需要连接到数据库并获取表格的列名。然后,设置文件名和文件指针,并将内容写入文件。最后,设置响应头部,将文件作为附件下载。 ... [详细]
author-avatar
天勤-科技
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有