2010-10-22 14 views
39

En Oracle, es posible hacer una declaración SELECT que devuelve el número de fila como una columna en su conjunto de resultados.¿Cómo selecciono todas las columnas de una tabla, más columnas adicionales como ROWNUM?

Por ejemplo,

SELECT rownum, column1, column2 FROM table 

devuelve:

 
rownum  column1  column2 
1   Joe   Smith 
2   Bob   Jones 

Pero no quiero especificar cada columna a mano. Quiero hacer algo como:

select rownum,* from table 
 
rownum  column1  column2  column3  column4 
1   Joe   Smith   1    2 
2   Bob   Jones   3    4 

¿Alguna idea?

+1

He cambiado la pregunta título, espero que no te importe, para reflejar con más precisión lo que realmente buscas. –

Respuesta

71

calificar el * con el nombre de la tabla:

select rownum, table.* from table 
0

respuesta de Dave es grande, sólo me gustaría añadir que también es posible hacer que al colocar el comodín como la primera columna:

select *,rownum from table 

Works, pero el siguiente no:

select rownum,* from table 

he probado con MySQL.

+8

"* probado en MySQL *" - sin usar el nombre de tabla ('table. *') Esto no funcionará en Oracle para el que se realizó esta pregunta. –

+0

No funcionó en DB2 tampoco – Ruslan

-2

Desafortunadamente, no creo therei manera sa para hacerlo, más fácil es probablemente combinación interna consigo misma línea con una mesa de Identificación, count (*), y poner una instrucción de selección externa

Cuestiones relacionadas