问一个关于统计的问题

abz867 2012-01-10 01:01:44
tableA
Id food
1 苹果
2 苹果
3 西瓜


tableC
foodId foodName
1 苹果
2 西瓜
3 香蕉

求一条sql语句,能统计出这样一个效果

food 数量
苹果 2
西瓜 1
香蕉 0
...全文
34 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
叶子 2012-01-10
  • 打赏
  • 举报
回复

declare @tableA table (Id int,food varchar(4))
insert into @tableA
select 1,'苹果' union all
select 2,'苹果' union all
select 3,'西瓜'

declare @tableC table (foodId int,foodName varchar(4))
insert into @tableC
select 1,'苹果' union all
select 2,'西瓜' union all
select 3,'香蕉'

select foodName,
(select count(1) from @tableA where food=c.foodName) as 数量 from @tableC c
/*
foodName 数量
-------- -----------
苹果 2
西瓜 1
香蕉 0
*/
--小F-- 2012-01-10
  • 打赏
  • 举报
回复
select
a.foodname,isnull(b.num,0)
from
tableC as a
left join
(select food ,count(1) as num from tablea group by food)b
on
a.foodName=b.food
SQL77 2012-01-10
  • 打赏
  • 举报
回复
select food,count(1) rn from (select * from ta union all select * from tb) t group by food

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧