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.