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

根据家庭住址,生成编号 ? 怎么实现

2012-09-14 
根据家庭住址,生成编号 ? 如何实现序号所在乡镇编号姓名家庭关系身份证号家庭住址1陈疃镇001张茂京3728021

根据家庭住址,生成编号 ? 如何实现
序号所在乡镇编号姓名家庭关系身份证号 家庭住址
1陈疃镇001张茂京372802193104095717上蔡庄村
1陈疃镇001潘同远372802194610315713滕家庄子村
1陈疃镇001贺兆海372802195311125711石灰窑村
1陈疃镇002刘贤春372802194607275722石灰窑村
1陈疃镇003迟令保372802196512035717石灰窑村
1陈疃镇004焦见水372802195712315735石灰窑村
1陈疃镇001牟秀红372802196810315768北疃村
1陈疃镇002王进平37280219610228573X北疃村
。。。。。。

[解决办法]

SQL code
select RIGHT(CONVERT(VARCHAR(4),1000+(row_number() over(partition by 家庭住址 order by 家庭住址))),3)编号,* from TB
[解决办法]
select RIGHT(CONVERT(VARCHAR(4),1000+(row_number() over(partition by 家庭住址 order by 家庭住址))),3)编号,* from TB

[解决办法]
SQL code
;WITH cte AS (SELECT 1 A,'陈疃镇' B,'001' C, '张茂京' D,'372802193104095717' E,'上蔡庄村' F UNION  SELECT 1,'陈疃镇','001', '潘同远','372802194610315713','滕家庄子村' UNION  SELECT 1,'陈疃镇','001', '贺兆海','372802195311125711','石灰窑村'  UNION SELECT 1,'陈疃镇','002', '刘贤春','372802194607275722','石灰窑村'  UNION SELECT 1,'陈疃镇','003', '迟令保','372802196512035717','石灰窑村' UNION  SELECT 1,'陈疃镇','004', '焦见水','372802195712315735','石灰窑村'  UNION SELECT 1,'陈疃镇','001', '牟秀红','372802196810315768','北疃村' UNION SELECT 1,'陈疃镇','002', '王进平','37280219610228573X','北疃村' )select RIGHT(CONVERT(VARCHAR(4),1000+(row_number() over(partition by F order by F ))),3)编号,* from CTE/*编号    A    B    C    D    E    F001    1    陈疃镇    001    牟秀红    372802196810315768    北疃村002    1    陈疃镇    002    王进平    37280219610228573X    北疃村001    1    陈疃镇    001    张茂京    372802193104095717    上蔡庄村001    1    陈疃镇    001    贺兆海    372802195311125711    石灰窑村002    1    陈疃镇    002    刘贤春    372802194607275722    石灰窑村003    1    陈疃镇    003    迟令保    372802196512035717    石灰窑村004    1    陈疃镇    004    焦见水    372802195712315735    石灰窑村001    1    陈疃镇    001    潘同远    372802194610315713    滕家庄子村*/
[解决办法]
SQL code
create table da(序号 int, 所在乡镇 varchar(10), 编号 varchar(10),姓名 varchar(10), 家庭关系 varchar(10),身份证号 varchar(20), 家庭住址 varchar(10))insert into da(序号,所在乡镇,姓名,身份证号,家庭住址)select 1, '陈疃镇', '张茂京', '372802193104095717', '上蔡庄村' union allselect 1, '陈疃镇', '潘同远', '372802194610315713', '滕家庄子村' union allselect 1, '陈疃镇', '贺兆海', '372802195311125711', '石灰窑村' union allselect 1, '陈疃镇', '刘贤春', '372802194607275722', '石灰窑村' union allselect 1, '陈疃镇', '迟令保', '372802196512035717', '石灰窑村' union allselect 1, '陈疃镇', '焦见水', '372802195712315735', '石灰窑村' union allselect 1, '陈疃镇', '牟秀红', '372802196810315768', '北疃村' union allselect 1, '陈疃镇', '王进平', '37280219610228573X', '北疃村'update aset a.编号=b.编号from da ainner join(select 编号='0'+rtrim(row_number() over(partition by 家庭住址 order by getdate())),身份证号 from da) b on a.身份证号=b.身份证号select * from da/*序号          所在乡镇       编号         姓名         家庭关系       身份证号                 家庭住址----------- ---------- ---------- ---------- ---------- -------------------- ----------1           陈疃镇        01         张茂京        NULL       372802193104095717   上蔡庄村1           陈疃镇        01         潘同远        NULL       372802194610315713   滕家庄子村1           陈疃镇        01         贺兆海        NULL       372802195311125711   石灰窑村1           陈疃镇        02         刘贤春        NULL       372802194607275722   石灰窑村1           陈疃镇        03         迟令保        NULL       372802196512035717   石灰窑村1           陈疃镇        04         焦见水        NULL       372802195712315735   石灰窑村1           陈疃镇        01         牟秀红        NULL       372802196810315768   北疃村1           陈疃镇        02         王进平        NULL       37280219610228573X   北疃村(8 row(s) affected)*/ 

热点排行