关于count(*)的问题

jw79 2002-09-20 02:19:17
有a,b两个表,并且a.id=b.id
如何用SQL语句来同时在一个视图内得到两个表的行数。
...全文
24 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ayzwd 2002-09-22
  • 打赏
  • 举报
回复
create view v1
as
select t1=(select count(*) from table1),t2=(select count(*) from table2)

分别求两个表的行数吗?应该用这个,他们写的都是求两个表有相同关键字的行数
metalwing 2002-09-22
  • 打赏
  • 举报
回复
我觉得还是要搞清楚两表间的关系及你到底要什么行数先。
qiubolecn 2002-09-22
  • 打赏
  • 举报
回复
有这么复杂么?

select count(*) from
(
select a.id from a,b
where a.id = b.id group by a.id) as table1
奇遇 2002-09-22
  • 打赏
  • 举报
回复
study中....... ^_^
w18ily 2002-09-22
  • 打赏
  • 举报
回复
学习ing.......
swordmanli 2002-09-22
  • 打赏
  • 举报
回复
上面写得都不对

create view v1
as

select
isnull((select count(*) from a as a2 where a2.id = a1.id), 0),
isnull((select count(*) from b as b2 where b2.id = b2.id), 0)
from a as a1 inner join b as b1 on a1.id = b1.id

cleo 2002-09-20
  • 打赏
  • 举报
回复
说两个表的关系先,

光说a.id=b.id不行,

一对一,不用说,求一个就行了。
一对多,(a是唯一):select count(distinct a.a),count(distinct b.a) from a inner join b on a.id = b.id
多对多?没有试,
newly_ignorant 2002-09-20
  • 打赏
  • 举报
回复
select isnull(a.id,b.id) new,count(distinct a.a),count(distinct b.a) from a
full join b
on a.id = b.id group by a.id,b.id
order by new

前提是按ID分组后,字段a唯一,否则继续讨论,赫赫。
Kick_hotdog 2002-09-20
  • 打赏
  • 举报
回复
看不懂。。。
newly_ignorant 2002-09-20
  • 打赏
  • 举报
回复
select a.id,count(a.*),count(b.*) from a,b
where a.id = b.id group by a.id

有我这么写的吗,搞笑

34,576

社区成员

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

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