Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Left Join NO llama todos los campos

Estas en el tema de Left Join NO llama todos los campos en el foro de SQL Server en Foros del Web. Hola, buenas noches. El objetivo de acudir a ustedes, es pedir de su ayuda ya que actualmente estoy haciendo una consulta SQL que hace una ...
  #1 (permalink)  
Antiguo 25/05/2017, 18:50
 
Fecha de Ingreso: octubre-2008
Mensajes: 101
Antigüedad: 16 años
Puntos: 1
Pregunta Left Join NO llama todos los campos

Hola, buenas noches.

El objetivo de acudir a ustedes, es pedir de su ayuda ya que actualmente estoy haciendo una consulta SQL que hace una comparación de un campo y lo muestra a la par.

Es decir, el objetivo es que yo tengo un campo A y en el campo A guardo "N" cantidad de documentos que son numericos, y que posteriormente, estos documentos se liquidan y se le agrega un prefijo "NCI" entonces, con esta consulta lo que hago es saber a través de un LIKE cuales ya fueren liquidados y lo que deseo con el Left Join es saber cuales aun estan vivos en el sistema.

Pero lamentablemente, no logro que el Left Join llame a todos los campos de la tabla de la izquierda, me podrían ayudar por favor.

Código:
SELECT C.Id, C.Description, 
CASE
    WHEN D.Documento IS NULL THEN D.Key_Code
    ELSE D.Documento
END AS Documento, 
CASE
    WHEN D2.Documento IS NULL THEN D2.Key_Code
    ELSE D2.Documento
END AS NCI, 
CONVERT(VARCHAR(10),D.Transaction_Date,103) as Transaction_Date, 
CONVERT(VARCHAR(10),D2.Transaction_Date,103) as Transaction_Date_NCI, 
D.Num_Batch, D.Concepto Concepto_Doc, D2.Concepto Concepto_NCI, 
D.Key_Code, D.Reference,
CASE 
    WHEN D2.Type = 'DR'  THEN D.Valor
    WHEN D2.Type IS NULL THEN D.Dr 
END AS Cargo,
CASE 
    WHEN D.Type = 'CR'  THEN D.Valor
    WHEN D.Type IS NULL THEN D.Cr 
END AS Abono
 From ter_auxi_cont_t D Left Outer Join ter_auxi_cont_t D2 On (D2.Documento like 'NCI%'+D.Documento), account C
        where 
        C.id = D.Cuenta
        And C.id = D2.Cuenta   
        And D.Transaction_Date between '20160601' and '20170524'
        And D.Cuenta between '21020202' and '21020202'
  #2 (permalink)  
Antiguo 26/05/2017, 07:14
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 2 meses
Puntos: 774
Respuesta: Left Join NO llama todos los campos

Porque mezclas joins implicitos con explicitos? podrias poner un pequeño ejemplo de tus datos y lo que esperas para poder ayudarte mejor?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: campos, case, join, left, llama, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:58.