请教:这个SQL语句怎么写?在线给分

Philzzf 2002-08-13 11:34:44
有三个表 A,B,C中分别有字段YEAR来储存年份,现在要统计三个表中所有年份>2002的记录总数,SQL语句该怎么写?

SELECT count(*) FROM A a,B b,C c WHERE A.YEAR>=2002 AND B.YEAR>=2002 AND
C.YEAR>2002

???
这样做统计不正确,请问正确的写法该怎么写?
...全文
46 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
justtest 2002-09-14
  • 打赏
  • 举报
回复
数据库设计时尽量设计成第三范式,不要设计成不可靠的第二范式
leshui 2002-08-27
  • 打赏
  • 举报
回复
晕~~~~~~~~
数据库设计问题
建议重新设计一下
SimonDW 2002-08-15
  • 打赏
  • 举报
回复
三个表可能会出问题吧,
因为这样好像默认是left join的说……
justtest 2002-08-15
  • 打赏
  • 举报
回复
干吗要用三个表啊,真是费啊。用一个用group 和having表完全可以轻松搞定了
pantech_36 2002-08-14
  • 打赏
  • 举报
回复
如果是mysql它没有子查寻该如何?
Philzzf 2002-08-13
  • 打赏
  • 举报
回复
如果是这样,还提这个问题干什么
如同:要你从1加到100,你用循环写一次和手动加一百次的效果是一样的,但你为什么选择第一个方法呢
leeeel 2002-08-13
  • 打赏
  • 举报
回复
一个一个来吧!为什么要用三个?
Philzzf 2002-08-13
  • 打赏
  • 举报
回复
三个表之间没有关系,

zqlsword 2002-08-13
  • 打赏
  • 举报
回复
3个表之间的约束条件呢
Philzzf 2002-08-13
  • 打赏
  • 举报
回复
试过,不对
sunhc 2002-08-13
  • 打赏
  • 举报
回复
SELECT count(*) FROM A a,B b,C c WHERE A.YEAR>=2002 or B.YEAR>=2002 or C.YEAR>2002
你再试试对不对?
sunhc 2002-08-13
  • 打赏
  • 举报
回复
你这三个表的数据是什么样的关系可以说说吗?
qiushuiwuhen 2002-08-13
  • 打赏
  • 举报
回复
try

select sum(t) from ((select count(*) as t from a where a.year>2002) union (select count(*) as t from b where b.year>2002) union (select count(*) as t from b where b.year>2002))

qiushuiwuhen 2002-08-13
  • 打赏
  • 举报
回复
(select 1 from a where a.year>2002) union (select 1 from b where b.year>2002) union (select 1 from b where b.year>2002)

tsyd 2002-08-13
  • 打赏
  • 举报
回复
表中有相同的年份算一次呢还是算两次?
zqfleaf 2002-08-13
  • 打赏
  • 举报
回复
select distinct ((select count(*) from a where a.year>2002) + (select count(*) from b where b.year>2002)+ (select count(*) from b where b.year>2002)) as 11 from a

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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