2个表处理的问题
请帮忙看看:
一、有2个表,
表1:MainTable (现有记录数在10万条左右)
字段:
id bigint自动编号
Title nvarchar(30)
SubId nvarchar(max)
表MainTable:
Id Title SubId
1 A 0
2 B 0
3 C 0
4 D 0
5 E 0
6 F 0
表2:SubTable (现有记录数在300万条左右)
字段:
id bigint自动编号
Description nvarchar(100)
Fl int '默认值为0,当进行模糊匹配后,值改为1
表SubTable:
Id Description Fl
1 ABC 0
2 AB 0
3 CD 0
4 EA 0
二、需要实现的结果为:
表MainTable:
Id Title SubId
1 A 0,1,2,4
2 B 0,1,2
3 C 0,1,3
4 D 0,3
5 E 0,4
6 F Null
第6条记录由于没有匹配的值,所以改为Null
表SubTable:
Id Description Fl
1 ABC 1
2 AB 1
3 CD 1
4 EA 1
------解决方案--------------------create table MainTable(Id int, Title varchar(20),SubId nvarchar(max))
insert into MainTable
select 1 ,'A', 0 union all
select 2 ,'B', 0 union all
select 3 ,'C', 0 union all
select 4 ,'D', 0 union all
select 5 ,'E', 0 union all
select 6 ,'F', 0
create table SubTable(Id int,Description varchar(20),Fl int)
insert into SubTable
select 1 ,'ABC',0 union all
select 2 ,'AB',0 union all
select 3 ,'CD',0 union all