有表A,是记录人员信息的,A01是人员编号,A02记录人是否内部人员,
表B, 是记录住房信息的,B01是住房编号,B02是住房地址,B03记录是否是自单位房产,
表C, 是记录人员和住房信息的,C01是住房ID,C02是人员ID,但是有可能人有几套住房,
现在的问题是,统计外部人员的住自单位住房的情况,但要按照表B的住房地址进行排序,
统计语句如下:
select * from A
where A02=0 and A01 in(select c02 from C
where C01 in (select B01 from B where B02='自己单位'))
order by A01
但是要安装地址进行排序就比较犯难了,请各位执教!
表B, 是记录住房信息的,B01是住房编号,B02是住房地址,B03记录是否是自单位房产,
表C, 是记录人员和住房信息的,C01是住房ID,C02是人员ID,但是有可能人有几套住房,
现在的问题是,统计外部人员的住自单位住房的情况,但要按照表B的住房地址进行排序,
统计语句如下:
select * from A
where A02=0 and A01 in(select c02 from C
where C01 in (select B01 from B where B02='自己单位'))
order by A01
但是要安装地址进行排序就比较犯难了,请各位执教!
解决方案 »
- distinct的高级用法,急死了!~
- 大家指教一下关于触发器的问题
- ORA-02046: distributed transaction already begun
- 谁能提供一个Oracle数据库的导出数据字典工具。急!!!
- 求一相对复杂的sql写法
- 导入数据库后数据链路出现问题
- 高手呀,看看这个SQL该怎么改!!马上给分
- Oracle8i刚装完,SQL*plus不能登陆
- 如何高效判断某个字符串存在例如12345之类的子串?欢迎讨论,来着有分呐!
- 来鸟问题--在win2000 sever下无法安装oracle 9i(100分--在线)
- Oracle9i数据备份的问题
- 请问在oracle中如何判断一个表中存在一个列,在线等!!!
这么写
select * from A,B,C
where (A.A02=0 and A.A01 =C.C02 AND C.C01 =B.B01 AND B.B02='自己单位')
order by A. A01
还请各位高手指点啊!
在线等!
where (A.A02=0 and A.A01 =C.C02 AND C.C01 =B.B01 AND B.B02='自己单位') group by A.A01 having
可是having后该怎么写呢?
请写得详细点好吗?
where (A.A02=0 and A.A01 =C.C02 AND C.C01 =B.B01 AND B.B02='自己单位') group by A.A01 having count(C.C01)>0?
吗
只好到excel表中对该字段进行字符排序了,
简单而且实用!
呵呵,
还有什么高招吗?
否则关系数据库的范式太麻烦了,不如冗余,
统计查询速度块而且简单!
where b.b03='自己单位' and b.b01 in (
select c01 from c where c02 in (select a01 from a where a02=0)
)
order by b.b03
;
这个是对的,测试过的。
select c.c02,b.b01,b.b02 from c,b
where b.b03='自己单位' and b.b01=c.c01 and b.b01 in (
select c01 from c where c02 in (select a01 from a where a02=0)
)
order by b.b03
;
不过出来的数字跟原来的不一样,
我自己想了一下,原来是按照人员表进行查询
现在我按照住房表进行查询,所以我的sql语句如下:
有表A,是记录人员信息的,A01是人员编号,A02记录人是否内部人员,
表B, 是记录住房信息的,B01是住房编号,B02是住房地址,B03记录是否是自单位房产,
表C, 是记录人员和住房信息的,C01是住房ID,C02是人员ID,但是有可能人有几套住房,
select * from b where
b.b03='自己单位' and b01 in
(select c01 from c where c02 in
(select a01 from a where a02=0))
order by b02;
不过很不幸,这张方法出来的数字还是和原来的不符
我看了一下c,有6条重复记录,但还是对不上
原来是491条,你的方法查处来是536条,我的方法查处来是521条
不知道为什么会不同,晕了!
b.(0,1,2,3) in a.(0,1)取出不同的阿a,b表很可能就不同的,相同到有些不对头了。