Estoy intentando ejecutar una subconsulta en Oracle SQL y no me permitirá ordenar las columnas de la subconsulta. Ordenar la subconsulta es importante ya que Oracle parece elegir a voluntad cuál de las columnas devueltas para volver a la consulta principal.Oracle SQL orden por en problemas de subconsulta!
select ps.id, ps.created_date, pst.last_updated, pst.from_state, pst.to_state,
(select last_updated from mwcrm.process_state_transition subpst
where subpst.last_updated > pst.last_updated
and subpst.process_state = ps.id
and rownum = 1) as next_response
from mwcrm.process_state ps, mwcrm.process_state_transition pst
where ps.created_date > sysdate - 1/24
and ps.id=pst.process_state
order by ps.id asc
realmente debe ser:
select ps.id, ps.created_date, pst.last_updated, pst.from_state, pst.to_state,
(select last_updated from mwcrm.process_state_transition subpst
where subpst.last_updated > pst.last_updated
and subpst.process_state = ps.id
and rownum = 1
order by subpst.last_updated asc) as next_response
from mwcrm.process_state ps, mwcrm.process_state_transition pst
where ps.created_date > sysdate - 1/24
and ps.id=pst.process_state
order by ps.id asc
+1 para usar un agregado en lugar de ROWNUM. ROWNUM es el doble de pensamiento sin relación. –
¿Dónde está mi +1 por usar MIN? -cry- – MatBailie