Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consulta!!! (https://www.clubdelphi.com/foros/showthread.php?t=64093)

sargento elias 17-03-2009 14:51:11

Consulta!!!
 
Hola Buenas Tardes tengo un problema con esta consulta

Código SQL [-]
SELECT     incidencias.ref_num as Codigo, 
isnull(incidencias.severidad,'No definido') As Severidad,
incidencias.resumen, incidencias.descripcion
FROM incidencias 
 INNER JOIN incidencias_det ON incidencias.ref_num = incidencias_det.ref_num 
 LEFT OUTER JOIN Relacion_indicadores ON incidencias_det.Id_Relacion = Relacion_indicadores.Id_Relacion 
WHERE incidencias.activa = 1 and 
incidencias.grupo not in ('CAU MN CENTRO DE CONVIVENCIA','SEGUIMIENTO DESARROLLO CAM')


Esta consulta me devuelve 10 registros. Ahora me han pedido que añada dos campos donde me diga si esas incidencias
tienen hijas y en ese caso sacar el ref_num de la incidencia hija y su estado.Yo he hecho esto.....

Código SQL [-]
SELECT     incidencias.ref_num as Codigo, 
isnull(incidencias.severidad,'No definido') As Severidad,
incidencias.resumen, incidencias.descripcion,
  Ref_num_hija = isnull(incidencias_hija.ref_num,'N/D'),
  Estado_Hija =isnull(incidencias_hija.estado,'N/D')
FROM incidencias 
 INNER JOIN incidencias_det ON incidencias.ref_num = incidencias_det.ref_num 
 LEFT OUTER JOIN Relacion_indicadores ON incidencias_det.Id_Relacion = Relacion_indicadores.Id_Relacion 
 LEFT OUTER JOIN incidencias as incidencias_hija on incidencias.persid = incidencias_hija.inc_padre
WHERE incidencias.activa = 1 and 
incidencias.grupo not in ('CAU MN CENTRO DE CONVIVENCIA','SEGUIMIENTO DESARROLLO CAM')



-el campo Inc_padre de Incidencias contiene el ID (persid) de Incidencias.
Evidentemente, como pueden tener mas de una hija la consulta me devuelve mas filas, 17. Lo que necesito es
que me devuelva las mismas 10 filas, es decir que solo coja una incidencia hija por incidencia, me da igual que
no me muestre las demas incidencias hijas.

Gracias por la Ayuda....

duilioisola 17-03-2009 15:14:55

Te doy un ejemplo con familias y el primer artículo de cada una de ellas:

Código SQL [-]
select 
   f.familia, 
   (select first 1 articulo from art_articulos a 
    where a.familia=f.familia order by articulo) 
from art_familias f
order by f.familia

sargento elias 17-03-2009 16:48:36

thanx ha sido de gran ayuda...;)


La franja horaria es GMT +2. Ahora son las 18:38:03.

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