为什么我使用 select count(t1.mailid) from t_mailinfo t1,t_userinfo t2得不到正确的值
解决方案 »
- 关于Oracle数据库 特殊字符处理的问题
- oracle创建视图求助!!!急~~~急~~~急~~~
- REF游标的问题
- oracle数据库中文字段显示乱码?
- 在char和varchar2上使用索引的区别?
- 如果处理多种类别的数据库表设计?
- 研究了很久不明白 oracle里如何查询%_'这类通配符关键字的记录??
- 请问oracle中用什么数据类型存储Timestamp?
- 50分求助..................
- ***想学用点Oracle,请教几个初级问题,Help Me!***
- SQL三表查询数据不正确,请教各位帮忙
- 一个看起来简单实际上复杂的问题,邀请有兴趣的一起研究,高手直接给语句也可以哈。
SQL> create table t(x int,y varchar2(17));表已创建。SQL> insert into t values(1,'dfd');已创建 1 行。SQL> insert into t values(1,null);已创建 1 行。SQL> select count(y) from t; COUNT(Y)
----------
1SQL> select count(*) from t; COUNT(*)
----------
2
select count(a) from t_mailinfo;
select count(b) from t_userinfo;
放到一个sql里面
select count(t1.a),count(t2.b) from t_mailinfo t1,t_userinfo t2;
但是得出的结果却不是我想要的,那有什么方法可以在一条sql里面得出正确的结果吗?
select count(a) from t_mailinfo;
union
select count(b) from t_userinfo;
如果你想把两个值都列出来并且竖转横下就用下面的方法:
select (select count(a) from t_mailinfo) a, (select count(b) from t_userinfo) b from dual;
如果你想知道这两个表关联后的结果:
select count(t1.a),count(t2.b) from t_mailinfo t1,t_userinfo t2 where t1.字段名=t2.字段名 ;--要搞清楚这两个表的关系
select count(t1.mailid) from t_mailinfo t1,t_userinfo t2 where t1.id=t2.id