62,074
社区成员
发帖
与我相关
我的任务
分享
create table buyuser ( [id] int , car_id int)
insert into buyuser values( 1 , 1 )
insert into buyuser values( 2 , 1 )
insert into buyuser values( 3 , 2 )
insert into buyuser values( 4 , 6 )
create table cars ( car_id int, car_name varchar(50))
insert into cars values( 1 , '宝马')
insert into cars values( 2 , '奔驰')
insert into cars values( 3 , '甲壳虫')
insert into cars values( 4 , '广州丰田')
insert into cars values( 5 , '大众')
insert into cars values( 6 , '标致')
insert into cars values( 7 , '福特')
select *, count =(select count(1)from buyuser where car_id = A.car_id ) from cars A
==============
car_id car_name count
----------- -------------------------------------------------- -----------
1 宝马 2
2 奔驰 1
3 甲壳虫 0
4 广州丰田 0
5 大众 0
6 标致 1
7 福特 0
(7 行受影响)
declare @buyuser TABLE( [id] int , car_id int)
insert into @buyuser values( 1 , 1 )
insert into @buyuser values( 2 , 1 )
insert into @buyuser values( 3 , 2 )
insert into @buyuser values( 4 , 6 )
declare @cars table( car_id int, car_name varchar(50))
insert into @cars values( 1 , '宝马')
insert into @cars values( 2 , '奔驰')
insert into @cars values( 3 , '甲壳虫')
insert into @cars values( 4 , '广州丰田')
insert into @cars values( 5 , '大众')
insert into @cars values( 6 , '标致')
insert into @cars values( 7 , '福特')
select a.* ,isnull(b.[count],0) as [count] from @cars a
left outer join( select car_id,count(*) as [count] from @buyuser group by car_id )b on b.car_id =a.car_id
select a.car_id,a.car_name,isnull(b.cnt,0) as count
from cars a left join
(
select car_id,count(id) as cnt
from buyuser
group by car_id
)b
on a.car_id=b.car_id
select a.car_id,a.car_name,isnull(b.cnt,0) as count
from cars a left join
(
select car_id,count(id) as cnt
from buyuser
)b
on a.car_id=b.car_id