首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

,这个sql该如何写。

2012-05-28 
求助,这个sql该怎么写。。。parentId,channelId,siteId,chnlName0347313广州市3473347413白云区3473347513天

求助,这个sql该怎么写。。。
parentId,channelId,siteId,chnlName
0 3473 13 广州市
3473 3474 13 白云区
3473 3475 13 天河区
3475 3476 13 棠下
3475 3477 13 棠东
3473 3478 13 海珠区
0 3479 13 东莞市
3479 3450 13 市区
3479 3451 13 市政府


现在要求是给一个channelId=3473的时候要将
0 3473 13 广州市
3473 3474 13 白云区
3473 3475 13 天河区
3475 3476 13 棠下
3475 3477 13 棠东
3473 3478 13 海珠区
这段数据全部查出来~~
这段sql应该怎么写?且数据是动态添加的~~求高手赐教~~

[解决办法]

SQL code
if object_id('[tb]') is not null drop table [tb]gocreate table [tb]([parentId] int,[channelId] int,[siteId] int,[chnlName] varchar(6))insert [tb]select 0,3473,13,'广州市' union allselect 3473,3474,13,'白云区' union allselect 3473,3475,13,'天河区' union allselect 3475,3476,13,'棠下' union allselect 3475,3477,13,'棠东' union allselect 3473,3478,13,'海珠区' union allselect 0,3479,13,'东莞市' union allselect 3479,3450,13,'市区' union allselect 3479,3451,13,'市政府'go;with cte as(  select * from tb where channelId=3473  union all  select b.* from cte a join tb b on b.parentid=a.channelid)select * from cte order by channelid/**parentId    channelId   siteId      chnlName----------- ----------- ----------- --------0           3473        13          广州市3473        3474        13          白云区3473        3475        13          天河区3475        3476        13          棠下3475        3477        13          棠东3473        3478        13          海珠区(6 行受影响)**/ 

热点排行