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'