当前位置: 代码迷 >> Oracle面试 >> 请问:这个查询语句如何写
  详细解决方案

请问:这个查询语句如何写

热度:10207   发布时间:2013-02-26 00:00:00.0
请教:这个查询语句怎么写
有一个表T1,结构如下。
id ETP_NAME TYPE_ID CS_ID CS_FL CS_NAME CS_UNIT CS_ZB
001 企业12 99 9901 生产指标 生产线数量 条 2
001 企业12 99 9902 产品指标-产品 酒精等级 - 工业优级,工业一级,工业二级
001 企业12 99 9903 产品指标-产品 酒精浓度 %(vol) 40
001 企业12 99 9904 产品指标-产品 成品酒精产量 t/a 55
002 企业2 99 9901 生产指标 生产线数量 条 11
002 企业2 99 9902 产品指标-产品 酒精等级 -
002 企业2 99 9903 产品指标-产品 酒精浓度 %(vol) 79
002 企业2 99 9904 产品指标-产品 成品酒精产量 t/a
999 实验室 99 9901 生产指标 生产线数量 条 4
999 实验室 99 9902 产品指标-产品 酒精等级 -
999 实验室 99 9903 产品指标-产品 酒精浓度 %(vol) 89
999 实验室 99 9904 产品指标-产品 成品酒精产量 t/a


举例:我想查询生产线数量(cs_id='9901')大于2条的,并且酒精浓度(cs_id='9903')等于'工业一级‘的数据,怎样写查询语句。
多谢了。


------解决方案--------------------------------------------------------
SQL code
create table TestTbl1 as select '企业12' name,9901 cs_id,'生产线数量' CS_NAME,'3' CS_ZB from dualunionselect  '企业12',9902,'酒精等级','工业一级' from dualunionselect  '企业14',9902,'酒精等级','工业一级' from dualunionselect '企业15' ,9901 ,'生产线数量' ,'3'  from dual  select a.name from (select name from TestTbl1 a where a.cs_name='生产线数量' and to_number(a.cs_zb) > 2) a,(select name from TestTbl1 a where a.cs_name='酒精等级' and a.cs_zb = '工业一级') b where a.name=b.name
  相关解决方案