首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请问一条SQL语句

2012-02-21 
请教一条SQL语句!现有一张城市表 A:IDAddressSubID1北京市02天津市03河北省04东城区15朝阳区16河北区27河

请教一条SQL语句!
现有一张城市表 A:
  ID Address SubID
  1 北京市 0
  2 天津市 0
  3 河北省 0
  4 东城区 1
  5 朝阳区 1
  6 河北区 2
  7 河东区 2
  8 唐山市 3
  9 石家庄 3
  .........
现在操作以上表建一新表: B 效果如下
  PC_ID PC_Province PC_City 
  00001 北京市 ---
  00002 天津市 ---
  00003 河北省 ---
  01004 北京市 东城区  
  01005 北京市 朝阳区
  02006 天津市 河北区
  02007 天津市 河东区
  03008 河北省 唐山市
  03009 河北省 石家庄

其中PC_ID 是 SubID(父节点)+ID ,已经实现 right('0000'+convert(varchar(2),SubID),2)+right('0000'+convert(varchar(3),ID),3)as pc_id

其他怎么来实现呢? 谢谢了先!








 

[解决办法]
STRING TT= right('0000'+convert(varchar(2),SubID),2)+right('0000'+convert(varchar(3),ID),3)

update A SET PC_ID='TT' WHERE SubID = (SELECT SubID 
 FROM A )

[解决办法]
分析了一下,SubID = 0的没有办法对照,可以取出来单独处理
SELECT SubID+ID,Address,'' FROM A
WHERE SubID ='0'

我SubID <> 0的就非常好处理了
SELECT A1.SubID+A1.ID,A2.Address,A1.Address FROM A A1
join A A2 ON A1.SubID=A2.ID

2个合并一下,结果就出来了。哈哈
SELECT A1.SubID+A1.ID,A2.Address,A1.Address FROM A A1
join A A2 ON A1.SubID=A2.ID
union
SELECT SubID+ID,Address,'' FROM A
WHERE SubID ='0'

热点排行