一个语句怎么查询下一级是否存在数据?
TB1
idname
1a
2b
3c
TB2
idtb1_idname
11aa
21aaa
33cc
要查询出结果
TB1.id , TB1.name , TB2.count
1a2
2b0
3c1
[解决办法]
selet TB1.id , TB1.name , sum(isnull(TB2.count),0)
from TB1 left join TB2 on TB1.id=TB2.id
[解决办法]
select TB1.id,TB1.name,count(*) from TB1,TB2 where TB1.id=TB2.tb1_id group by TB1.id,TB1.name
[解决办法]
create table TB1
(
ID INT,
name varchar(10)
)
create table TB2
(
id int,
tb1_id int,
name varchar(10)
)
insert into TB1 select 1,'a'
union all select 2 ,'b'
union all select 3,'c'
insert into TB2 select 1,1,'aa'
union all select 2,1,'aaa'
union all select 3,3,'cc'
select TB1.ID,TB1.name,count(TB2.tb1_id)as TB2_count FROM TB1
LEFT JOIN TB2 ON TB1.ID=TB2.tb1_id
group by tb1.ID,tb1.name
/*
IDnameTB2_count
1a2
2b0
3c1
*/