Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-01-2006
Avatar de Jonnathan
Jonnathan Jonnathan is offline
Miembro
 
Registrado: may 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 64
Poder: 19
Jonnathan Va por buen camino
Generar numeros de filas

Buen día a todos, tengo una duda y no se me ocurre como podría hacerse. ¿Alguien sabe como podría generarse en una consulta SQL un campo que sea el número de la fila? es decir, meter en una consulta de una tabla un campo que se llame "NumeroFila" y que en la primera fila tenga el valor "1", en la segunda "2", en la tercer "3"... y asi sucesivamente. Necesito hacerlo en SQL para mostrarlo por pantalla en un reporte hecho con FastReport, ¿alguna idea?
El manejador de base de datos es MaxDB (Antes SAP).
__________________
"En el siglo de la estupidez todas las casas comienzan por la fachada" (Fuckowsky)
Planeta Insólito, La Pluma Inspirada
Responder Con Cita
  #2  
Antiguo 26-01-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
¿Que motor utilizas?... no te sirve RowNum???
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 26-01-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
OFF-Topic

Perdona Jonnathan por la pregunta "Off-topic". ¿Con qué componentes accedes a esa Base de Datos desde Delphi?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 26-01-2006
Avatar de Jonnathan
Jonnathan Jonnathan is offline
Miembro
 
Registrado: may 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 64
Poder: 19
Jonnathan Va por buen camino
Lo que pasa es que lo necesito para usarlo en otra consulta, me explico. Tengo que sacar unos pensum de estudios, mostrando las materias y sus prelaciones de la siguiente manera:


Codigo Materia1 Creditos Prelacion
00001 Asignatura1 3 xxxx01
00002 Asignatura2 4 xxxx05 (<- materia con dos prelaciones)
------------------- xxxx06
00003 Asignatura3 2 xxxx02
Total creditos: 9


La linea punteada debe ser espacio en blanco, no supe como ponerlo en el editor . Trate de cruzar las tablas de asignaturas y prelaciones (con join o producto cartesiano) y el resultado queda asi:


Codigo Materia1 Creditos Prelacion
00001 Asignatura1 3 xxxx01
00002 Asignatura2 4 xxxx05
00002 Asignatura2 4 xxxx06
00003 Asignatura3 2 xxxx02
Total creditos: 13


Como ves, las que tienen mas de una prelacion se repiten y no me interesa que salga asi, habia pensado en lo del contador. Lo generaba en la consulta donde saco las prelaciones y a la hora de mostrar los campos en la consulta final simplemente pregunto por el campo "NumeroFila" en la prelacion. Si es "1" mostrar Codigo, Nombre y Creditos, sino no mostrar nada, cosa de que se muestren los datos de la asignatura solo la primera vez y para las demas prelaciones que salga todo en blanco, excepto el codigo de la prelacion. Mas o menos asi:

Código SQL [-]
Select
(case Prelaciones.NumeroFila 
     when 1 then Asignatura.Codigo
     else Null
end case) as Codigo,
(case Prelaciones.NumeroFila
     when 1 then Asignatura.Nombre
     else Null
end case) as Nombre,
...
Prelacion.Codigo
from Asignaturas, 
(Aqui mi codigo SQL para generar las prelaciones de la asignatura
) Prelaciones
where
Prelaciones.Asignatura = Asignatura.Codigo
¿Alguna idea o algún otro tipo de operación en SQL para eso? OJO, no puedo cambiar el formato, debe salir de esa forma. Estoy usando componentes TfrxBDEQuery insertados dentro del reporte. El motor es BDE.
__________________
"En el siglo de la estupidez todas las casas comienzan por la fachada" (Fuckowsky)
Planeta Insólito, La Pluma Inspirada

Última edición por Jonnathan fecha: 26-01-2006 a las 18:48:19.
Responder Con Cita
  #5  
Antiguo 27-01-2006
Avatar de Jonnathan
Jonnathan Jonnathan is offline
Miembro
 
Registrado: may 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 64
Poder: 19
Jonnathan Va por buen camino
Bueno despues de una acalorada lucha de varias horas entre SQL, MaxDB, FastReport y yo, pude hacer lo que quería. Probe lo de RowNum en MaxDB pero solo funciona cuando se especifica que el interprete SQL a usar es "Oracle" y solo en el SQL Studio de Maxdb, no se como usarlo en una conexión con Delphi, gracias de todos modos por el consejo Delphi.com.ar.
Como sea, lo que quería era encontrar un registro al de prelaciones para mostrar los datos de asignatura y para las demas prelaciones dejar esos datos vacios. Eso lo logre con una consulta unp poco elaborada usando la función Max(), combinado con lo que puse arriba .
__________________
"En el siglo de la estupidez todas las casas comienzan por la fachada" (Fuckowsky)
Planeta Insólito, La Pluma Inspirada
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Generador de números aleatorios gontxalo OOP 16 09-06-2005 21:38:07
Como generar esto? nefy SQL 2 02-04-2004 17:34:46
como generar palabras aleatorias mmoreno Varios 2 09-01-2004 00:02:53
Urgente (Marcar filas) javiermorales Conexión con bases de datos 5 25-08-2003 10:23:26
Selección por código de todas las filas de un DBGrid tupez Conexión con bases de datos 3 23-07-2003 17:22:52


La franja horaria es GMT +2. Ahora son las 09:00:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi