(case r.resource_type when 'crane' then rc.height when 'natural' then rn.height end) height,
(case r.resource_type when 'crane' then rc.status when 'pool' then rp.status when 'natural' then rn.status end) status,
(case r.resource_type when 'crane' then rc.section when 'pool' then rp.section end) section,
(case r.resource_type when 'crane' then rc.pipe_network when 'hydarant' then rh.pipe_network end) pipe_network,
(case r.resource_type when 'crane' then rc.pipe_type_name when 'hydarant' then rh.pipe_type_name when 'pool' then rp.pipe_type_name end) pipe_type_name,
(case r.resource_type when 'crane' then rc.pipe_diameter when 'hydarant' then rh.pipe_diameter end) pipe_diameter,
rc.inlet_pipe_diameter,
rc.outlet_pipe_diameter,
rc.waterfilling_lane_num,
(case r.resource_type when 'crane' then rc.water_supply_name when 'hydarant' then rh.water_supply_name when 'pool' then rp.water_supply_name end) water_supply_name,
(case when 'hydrant' then rh.type when 'natural' then rn.type end) type,
rh.system_type,
rh.facilities_category,
rh.road_junction_info,
rh.place_form,
rh.hose_connection,
(case r.resource_type when 'hydrant' then rh.intake_form when 'pool' then rp.intake_form end) intake_form,
(case r.resource_type when 'natural' then rn.volume when 'pool' then rp.volume end) volume,
rn.area,
rn.quality_situation_info,
rn.season_change_info,
rn.has_dry_season,
rn.dry_period_span,
rp.intake_height,
rp.elevation_difference,
rp.parking_position,
rp.parking_num,
ri.iot_water_storage,
ri.iot_flow_rate,
ri.iot_status,
ri.iot_pipe_pressure
from cb_water_resource r
left join cb_water_resource_pool rp
on r.sequence_nbr = rp.resource_id
left join cb_water_resource_crane rc on r.sequence_nbr = rc.resource_id
left join cb_water_resource_hydrant rh on r.sequence_nbr = rh.resource_id
left join cb_water_resource_natural rn on r.sequence_nbr = rn.resource_id
left join cb_water_resource_iot ri on r.sequence_nbr = ri.resource_id