Entradas

Mostrando entradas de septiembre, 2009

SELECT: Obtener los primeros registros en una consulta

Para que al realizar una consulta nos salga el número de registro podemos realizar lo siguiente: select rownum , campo1, campo2 from tabla1 la salida sera algo así 1 campo1 campo2 2 campo1 campo2 3 campo1 campo2 4 campo1 campo2 Si queremos usar una consulta con un order by y que se muestre el número de columna podríamos usar esta consulta: select rownum, campo1, campo2 from tabla1 order by campo1 La salida no es lo que queremos: 1 campo1 campo2 4 campo1 campo2 3 campo1 campo2 2 campo1 campo2 Si queremos que el número se corresponda con el orden podemos hacer esta consulta: select rownum , campo1, campo2 from tabla1 , dual where tabla1.campo1 = dual.dummy(+) order by campo1 1 campo1 campo2 2 campo1 campo2 3 campo1 campo2 4 campo1 campo2 Estamos realizando un "outer join" entre la tabla dual y la tabla1 usando como campo común el que deseamos para la ordenación. La salida estaŕa ordenada por el campo1 y los número serán correctos. Si tenemos dos o más campos con los qu