这是我写的: create procedure prInfo @userId int as select tbl_1.GroupName,tbl_1.ID count(tbl_2.ID) as numbers from tbl_1 inner join tbl_2 on tbl_1.ID = tbl_2.GroupId where tbl_1.UserId = @userId group by tbl_1.GroupName,tbl_1.ID 但是这样返回的只有 GroupName ID numbers a 1 2 b 2 2 其他的分组就没有了
create procedure prInfo @userId int as select tbl_1.GroupName,tbl_1.ID count(tbl_2.ID) as numbers from tbl_1 left join tbl_2 on tbl_1.ID = tbl_2.GroupId where tbl_1.UserId = @userId group by tbl_1.GroupName,tbl_1.ID
接上面: 而该用户其实还创建了其他的分类,总共创建了6个分组,为什么只返回tbl_2中存在的记录呢 我想要的是: GroupName ID numbers a 1 2 b 2 2 c 3 0 d 4 0 e 5 0 f 6 0 而不是: GroupName ID numbers a 1 2 b 2 2
create procedure prInfo
@userId int
as
select tbl_1.GroupName,tbl_1.ID count(tbl_2.ID) as numbers
from tbl_1 inner join tbl_2
on tbl_1.ID = tbl_2.GroupId
where tbl_1.UserId = @userId
group by tbl_1.GroupName,tbl_1.ID
但是这样返回的只有
GroupName ID numbers
a 1 2
b 2 2
其他的分组就没有了
@userId int
as
select tbl_1.GroupName,tbl_1.ID count(tbl_2.ID) as numbers
from tbl_1 left join tbl_2
on tbl_1.ID = tbl_2.GroupId
where tbl_1.UserId = @userId
group by tbl_1.GroupName,tbl_1.ID
而该用户其实还创建了其他的分类,总共创建了6个分组,为什么只返回tbl_2中存在的记录呢
我想要的是:
GroupName ID numbers
a 1 2
b 2 2
c 3 0
d 4 0
e 5 0
f 6 0
而不是:
GroupName ID numbers
a 1 2
b 2 2
改成left join就可以了