日期:2014-05-18  浏览次数:20509 次

求教一个sql语句
在oracle9i中
select   a.deviceitemobject   as   测量指标   ,   count(a.id)   as   一般缺陷
  from   checkresult   a  
  where   a.result=30
group   by   a.deviceitemobject

显示结果:
测量指标 严重缺陷
0 37
10 2062
20 2897

select   a.deviceitemobject   as   测量指标   ,   count(a.id)   as   一般缺陷
  from   checkresult   a  
  where   a.result=20
group   by   a.deviceitemobject

显示结果:
测量指标 一般缺陷  
0 12
10 3211
20 965

我想显示成

测量指标 一般缺陷   严重缺陷
0 12               37
10 3211           2062
20 965             2897

本人对oracle不太熟悉,求教sql语句怎么写.
在线等啊,问题解决了马上结贴给分
谢谢了先

------解决方案--------------------
学习 不过你问数据库还是去数据库版比较好
------解决方案--------------------
你查一下交叉表就知道了
------解决方案--------------------
用join应该可以实现的。
------解决方案--------------------
关注..
------解决方案--------------------
select t1.deviceitemobject 测量指标,t1.aa 严重缺陷,t2.aa 一般缺陷
from
(select a.deviceitemobject , count(a.id) aa
from checkresult a
where a.result=30
group by a.deviceitemobject) t1,
(select a.deviceitemobject , aa
from checkresult a
where a.result=20
group by a.deviceitemobject )t2

where t1.deviceitemobject=t2.deviceitemobject;