![]() |
Agrupar o no según u parametro de una tabla auxiliar
Utilizo Firebire 1.0 con Ibo sobre Delphi 7.
Tengo una tabla principal (Articulos) que tiene un campo (Art_Grupo) que es un codigo que enlaza con una tabla auxiliar de grupos y que indica a que grupo pertenece el artículo. En la tabla auxiliar existe un campo booleano que indica si los artículos de ese grupo se desglosan o no. Lo que busco es una sql que liste los articulos de forma que si el grupo a que pertenece el artículo tiene el campo de desglose a true aparezca la descripción del artículo, pero los artículos que pertenecen a un grupo con campo de desglose a false los agrupe indicando el nombre del grupo (una sola vez, claro). Será posible hacerlo mediante una orden sql?. |
Hola,
No sé cuanto entendí del enunciado, y a pesar de que el SQL no va del todo conmigo esto es lo que se me ocurrió:
|
Cita:
// Saludos |
Gracias Gydba por tu respuesta.
He probado a utilizarla y no consigo que me funcione. En realidad, el problema que plantee era una abstacción del siguiente: Donde dije articulos en realidad son asuntos a tratar en una reunión (SESASU_ASUNTO) de tipo Blob, el nombre de los grupos es SESGRU_DESCRIP y es de tipo varchar(80) y el campo de desglose SESGRU_MOSTRAR es boolean. Se trata de listar los asuntos a tratar en la reunión de forma que si en el grupo al que pertenece cada asunto SESGRU_MOSTRAR=1 muestra el titulo del asunto y si es SESGRU_MOSTRAR=0 muestra el nombre del grupo sin repetir nombres de grupo. He probado con: Código:
select A.SESASU_SESION,A.SESASU_GRUPO,A.SESASU_ORDEN, Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause) si le hago un cast(G.SESGRU_DESCRIP as blob) as ASUNTO, me da el mismo error. Que es lo que está mal? |
Se puede hacer esto?
Código:
A.SESASU_ASUNTO as ASUNTO, Código:
G.SESGRU_DESCRIP as ASUNTO, |
Nadie me puede ayudar con este SQL?. No se como hacer que aparezcan en la misma columna un dato de tipo memo u otro de tipo string dependiendo del valor de un tercer campo.
|
Cita:
Pero es verdad, a pesar que en una época me emocionaba bastante todo lo de DB se me fue pasando cuando me metí más en Linux. Cita:
http://ibase.ru/download/freeudflib.zip http://ibase.ru/download/freeudflibc-0_6_tar.gz También no vendría mal una ojeada a: http://www.clubdelphi.com/columnas/8/8.php Saludos! |
lo que pretendo es hacer un cast a un varchar(80) para convertirlo en Memo(Blob). Tampoco se puede?.
|
Hola,
Hasta donde yo sé no es posible sin el uso de alguna UDF. Yo me quedé con la versión 1.5.0 de FB por lo cuál desconozco si alguna nueva versión posibilita esto. |
La franja horaria es GMT +2. Ahora son las 05:59:10. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi