进行二次选择:
1、删除掉表里的数据:
Delete [PisCh].[dbo].[SfzCaculate2]
2、将目标表中不同名,但同身份证号的数据
Insert 到[PisCh].[dbo].[SfzCaculate2]表中。
insert into [PisCh].[dbo].[SfzCaculate2](
[xzCode]
,[cunCode]
,[zuCode]
,[hucode]
,[RenName]
,[renxbcode]
,[renHkszdCode]
,[RenSfzhm1]
,[S1]
,[S2]
)
SELECT max(xzcode),max(cuncode),max(zucode),max(hucode),renname,max(RenXbCode),max(renHkszdCode),rensfzhm1,COUNT(*),MAX(s2)
FROM [PisCh].[dbo].[SfzCaculate1]
group by RenName,RenSfzhm1 having COUNT(*)=1
order by RenSfzhm1
3、再将组别较大的加入到表3中
insert into [PisCh].[dbo].[SfzCaculate3]
([xzCode]
,[cunCode]
,[zuCode]
,[huCode]
,[RenCode]
,[RenName]
,[RenXbCode]
,[renCsdate]
,[renHkszdCode]
,[RenSfzhm1]
,[S1]
,[S2]
,[S3]
,[RenSfzhm2]
,[S4]
,[S5]
,[S6]
,[S7]
,[S8]
,[S9])
SELECT [xzCode]
,[cunCode]
,[zuCode]
,a.huCode
,[RenCode]
,[RenName]
,[RenXbCode]
,[renCsdate]
,[renHkszdCode]
,a.RenSfzhm1
,[S1]
,[S2]
,[S3]
,[RenSfzhm2]
,[S4]
,[S5]
,[S6]
,[S7]
,[S8]
,[S9]
FROM [PisCh].[dbo].[SfzCaculate2] a INNER JOIN
(SELECT DISTINCT rensfzhm1, hucode = MAX(hucode)
FROM [PisCh].[dbo].[SfzCaculate2]
GROUP BY RenSfzhm1) b ON
a.RenSfzhm1=b.RenSfzhm1 AND a.huCode= b.hucode
最后对此部分人做修改。
本文详细阐述了在数据管理过程中进行二次选择的步骤,包括删除特定数据、整合具有相同身份证号的不同数据集,并最终将整理后的数据整合到目标表中。通过一系列SQL操作实现数据的高效管理和优化。
702

被折叠的 条评论
为什么被折叠?



