Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

SQL : Consulta simple - Campo calculado

Estas en el tema de SQL : Consulta simple - Campo calculado en el foro de SQL Server en Foros del Web. Hola, tengo este al parecer pequeño problemita : Tengo una Tabla "T" con 2 campos "id,nombre" , lo que deseo es sólo mostrar el "nombre", ...
  #1 (permalink)  
Antiguo 09/09/2005, 18:40
Avatar de gabyweb  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 364
Antigüedad: 22 años, 3 meses
Puntos: 0
Pregunta SQL : Consulta simple - Campo calculado

Hola, tengo este al parecer pequeño problemita :

Tengo una Tabla "T" con 2 campos "id,nombre" , lo que deseo es sólo mostrar el "nombre", pero que el SQL me genere un nro de item. O sea quiero este resultado :

ITEM NOMBRE
-----------------
1 AAAAAAAA
2 BBBBBBBBB
3 CCCCCCCC
.......

Gracias
__________________
Gaby :adios:
  #2 (permalink)  
Antiguo 10/09/2005, 04:19
Avatar de sir_joshua  
Fecha de Ingreso: diciembre-2004
Mensajes: 411
Antigüedad: 19 años, 4 meses
Puntos: 0
con ORACLE se pone la columna ROWNUM dentro del select .... para sql server no se si haya un equivalente... igual y encuentras algo en el google


salu2.
__________________
http://sir-joshua.hi5.com
Mex. Mex.
  #3 (permalink)  
Antiguo 10/09/2005, 17:03
Avatar de gabyweb  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 364
Antigüedad: 22 años, 3 meses
Puntos: 0
No, MS SQL no tiene esa columna
__________________
Gaby :adios:
  #4 (permalink)  
Antiguo 12/09/2005, 04:23
Avatar de Drako_18  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 505
Antigüedad: 19 años
Puntos: 16
posible solucion:

Hola, el campi id normal mente se le asiga un auto_increment, es lo mas facil par que te genere ese "identificador" de nombres, espero que te aya servido, un saludo!
  #5 (permalink)  
Antiguo 12/09/2005, 07:53
Avatar de gabyweb  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 364
Antigüedad: 22 años, 3 meses
Puntos: 0
La idea es no usar el campo tipo Identity
__________________
Gaby :adios:
  #6 (permalink)  
Antiguo 12/09/2005, 10:27
 
Fecha de Ingreso: diciembre-2001
Ubicación: Morelia, México.
Mensajes: 312
Antigüedad: 22 años, 4 meses
Puntos: 0
PRUEBA CON ESTO:

SET @id = 0; SELECT nombre, @id := @id + 1 FROM table

Nos vemos!
  #7 (permalink)  
Antiguo 13/09/2005, 08:41
Avatar de gabyweb  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 364
Antigüedad: 22 años, 3 meses
Puntos: 0
He hecho esto :

DECLARE @id int
SET @id = 0
SELECT @id = @id + 1
SELECT @id, nom_usu FROM usuario

Me muestra todos los usuarios pero con el Orden "1", si lo pongo dentro de un while, lo hace pero con todos los registros, o sea 1 - para todo el select, luego 2 para todo el select, y así sucesivamente.

Creo que ya estoy cerca a la solución pero no sé como hacerlo
__________________
Gaby :adios:
  #8 (permalink)  
Antiguo 14/09/2005, 07:18
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 21 años, 5 meses
Puntos: 5
Saludos gabyweb

Quizas esto te pueda ayudar mientras...
SELECT (SELECT count(id)
FROM T AS Nombres
WHERE Nombres.id<= Genera.id) AS ItemNum, id, nombre
FROM T AS Genera
ORDER BY id

Si no quieres el id en la consulta, eliminalo de la antepenultima linea despues del AS.

Espero te ayude.
__________________
Yanira
  #9 (permalink)  
Antiguo 16/09/2005, 01:10
 
Fecha de Ingreso: diciembre-2001
Ubicación: Morelia, México.
Mensajes: 312
Antigüedad: 22 años, 4 meses
Puntos: 0
HOLa.. mira yo probé mi sentencia y funcionó bien, no tenés que usar el DECLARE, asi que:

SET @id = 0; SELECT nom_usu, @id := @id + 1 FROM usuario..

Esto te genera una tabla de resultados así:

| id | nom_usu |
+------+-------------+
| 1 | juan |
| 2 | pepe |
+------+-------------+

Nos vemos! :)
  #10 (permalink)  
Antiguo 02/07/2010, 13:54
 
Fecha de Ingreso: enero-2010
Mensajes: 3
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: SQL : Consulta simple - Campo calculado

Hazlo con el Row_Number()
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:58.