有一个表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