有2张表
A表
编码 名称
11 11
12 12
13 13--------------------
B表
编码1 名称1
11001 11001
11002 11002
11003 11003
12001 12001
13001 13001
13002 13002
13003 13003
13004 13004
如何得到
编码 个数
11 3
12 1
13 4
A表
编码 名称
11 11
12 12
13 13--------------------
B表
编码1 名称1
11001 11001
11002 11002
11003 11003
12001 12001
13001 13001
13002 13002
13003 13003
13004 13004
如何得到
编码 个数
11 3
12 1
13 4
insert into a values('11', '11')
insert into a values('12', '12')
insert into a values('13', '13')
create table b(编码1 varchar(10) , 名称1 varchar(10))
insert into b values('11001', '11001')
insert into b values('11002', '11002')
insert into b values('11003', '11003')
insert into b values('12001', '12001')
insert into b values('13001', '13001')
insert into b values('13002', '13002')
insert into b values('13003', '13003')
insert into b values('13004', '13004')
goselect a.编码 , count(1) 个数 from a , b where a.编码 = left(b.编码1,2) group by a.编码
/*
编码 个数
---- -----------
11 3
12 1
13 4(所影响的行数为 3 行)
*/select a.编码 , (select count(1) from b where a.编码 = left(b.编码1,2)) 个数 from a
/*
编码 个数
---- -----------
11 3
12 1
13 4(所影响的行数为 3 行)
*/drop table a , b
FROM A JOIN B ON A.编码=LEFT(B.编码1,2)
GROUP BY A.编码
select left(编码1,2),count(*) from 表B group by left(编码1,2)
GROUP BY A表.编码