SQL - Duda sobre union de filas

 
Vista:
sin imagen de perfil

Duda sobre union de filas

Publicado por EITHEL (1 intervención) el 05/01/2018 15:26:53
Hola, tengo un problema.
cuando consulto con esta query me envia dos registros de la misma persona pero con datos diferentes en algunas columnas.
Mi preguntas es: como haria para mostrar el registro por persna en una sola fila, donde se sume en la columna TipoServicio,Imagenes, Interconsulta por nombreUsuario,
para que no se repita .

Por ejemplo_: un solo registro de SANCHEZ MELENDEZ que tenga 5-1-0-0-NombreUsuario-Prioirdad-...-..-..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
SELECT DISTINCT
  T6.NumVisorEmergencia IdTopico,
		CASE D1.TipoOrdenAtencion
  	    WHEN '5' THEN '1'
		Else '0'
		END
	 AS TipoServicio,
		CASE D1.TipoOrdenAtencion
		WHEN '6' THEN '1'
		WHEN '8' THEN '1'
		WHEN '16' THEN '1'
		WHEN '17' THEN '1'
		WHEN '18' THEN '1'
		Else '0'
        END
	 AS Imagenes,
		CASE D1.TipoOrdenAtencion
		WHEN '11' THEN '1'
		Else '0'
		END
	 AS Interconsulta,
  CONVERT(VARCHAR(50),LTRIM(RTRIM(T2.NombreCompleto))) + ' ' + '('+ CONVERT(VARCHAR(50),(CASE WHEN MONTH(T2.FECHANACIMIENTO)*100 + DAY(T2.FECHANACIMIENTO) > MONTH(GETDATE())*100 + DAY(GETDATE()) THEN YEAR(GETDATE()) - YEAR(T2.FECHANACIMIENTO) -1 ELSE YEAR(GETDATE()) - YEAR(T2.FECHANACIMIENTO) END)) + ')' AS NombresUsuario,
  --LTRIM(RTRIM(T2.NombreCompleto)) as NombresUsuario,
  T3.SecuencialPrioridad as Prioridad,
        CONVERT(CHAR(19),T1.FechaCreacion, 0) EndTimeStamp,
  dbo.fn_cosapi_calcularTiempo(T5.FecIniTopico,GETDATE(),2) Tiempo_Permanencia,
        dbo.fn_cosapi_calcularTiempo(T1.FechaCreacion,GETDATE(),2) Tiempo_PermanenciaTotal,
        DATEDIFF(mi,T1.FechaCreacion,GETDATE()) Minutos_Color,
  T6.ValorNumerico TipoTopico
  FROM SS_AD_OrdenAtencion T1 WITH (NOLOCK)
  INNER JOIN SpringSalud_Produccion1.dbo.ss_ce_consultaexterna T3 WITH (NOLOCK) ON T3.idconsultaexterna = T1.IdConsultaExternaPrincipal
  INNER JOIN SpringSalud_Produccion1.dbo.Personamast T2 WITH (NOLOCK) ON T2.persona =  T1.idpaciente
  LEFT JOIN SS_AD_OrdenAtencionTopicoHistorial T5 WITH (NOLOCK) ON T5.IdOrdenAtencion = T1.IdOrdenAtencion AND T5.IdTopico = T1.IdTopico
  LEFT JOIN GE_Varios T6 WITH (NOLOCK) ON T6.Secuencial = T1.IdTopico AND T6.CodigoTabla='TOPICO'
    LEFT JOIN SS_AD_OrdenAtencionDetalle D1 ON  t1.IdOrdenAtencion= D1.IdOrdenAtencion
    left join CM_CO_TablaMaestroDetalle on t1.TipoOrdenAtencion =CM_CO_TablaMaestroDetalle.IdCodigo  and CM_CO_TablaMaestroDetalle.IdTablaMaestro =101
 
  WHERE T3.EstadoDocumento = 1 -- Estado consulta: Preparación
  AND T1.especialidad = 30  -- Especialidad emergencia
        AND NOT T1.idtopico IS NULL --Con tópico asignado
  AND NOT EXISTS(SELECT NDoc,StartTimeStamp,NombresUsuario FROM QueueSmartSB.dbo.sys_Tickets
                 WHERE Status ='C'--Terminado
                 AND PriorityIndex is not null --con prioridad
                 AND TicketTypeID = 61  -- Ingreso en Topico
                 AND CONVERT(DATE,StartTimeStamp,103) >= CONVERT(DATE,GETDATE(),103)
        AND NDoc = T2.documento COLLATE Modern_Spanish_CI_AS)
  AND CONVERT(DATE,T1.FechaCreacion,103) >= CONVERT(DATE, GETDATE(),103)
 
  ORDER BY T6.ValorNumerico, T6.NumVisorEmergencia--, Tiempo_Permanencia asc

imgen
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Duda sobre union de filas

Publicado por Isaias (1921 intervenciones) el 05/01/2018 17:09:44
Pues IGUALITAS, no son, ya que TipoServicio, es DIFERENTE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar