请教一条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'