SQL筛选数据问题
有下面这样一个表
姓名 业务号 号码 地址 类型 标识
赵一 NULL 123456 地址1 0 NULL
李二 2 123456 地址1 1 A
张叁 NULL 123456 地址1 1 NULL
李肆 43 123456 地址2 0 B
王五 NULL 123456 地址2 0 NULL
刘六 NULL 123456 地址2 0 NULL
康七 NULL 123456 地址2 0 NULL
杨八 NULL 123456 地址2 1 NULL
需要实现下面的要求
- 效果1:将相同地址的筛选出来
- 效果2:同一地址的业务号填充为相同数值(比如原来李二业务号是2,那么和他同地址的赵一和张叁业务号都填充为2)
- 效果3:同一地址的标识填充为相同数值
- 效果4:但是上面2条规则对类型为1的不适用(他们既不用其他人的数据填充自己的NULL,用不用自己的数据填充别人的NULL)
result1
姓名 业务号 号码 地址 类型 标识
赵一 NULL 123456 地址1 0 NULL
李二 2 123456 地址1 1 A
张叁 NULL 123456 地址1 1 NULL
result2
李肆 43 123456 地址2 0 B
王五 43 123456 地址2 0 B
刘六 43 123456 地址2 0 B
康七 43 123456 地址2 0 B
杨八 NULL 123456 地址2 1 NULL
能不能只用SQL实现这样的需求(如果不能,用什么辅助比较好),什么样的算法效率高(大量数据)?
超威包大人
9 years, 8 months ago