Skip to Content
0
Former Member
Jun 05, 2013 at 04:11 PM

Ayuda Query

36 Views

Jovenes experto tengo un query que no me esta respetando las condiciones, necesito hacer un reporte por columna pero resulta que hay filas que se duplican y ya probe hacerlo por medio de este comando isnull((Select max(isnull(Y.Gtotal,0.00)) from PCH1 Y where Y.ItemCode = 'PLA0001'),0) y si despliega la informacion pero me muestra en todas la filas el monto mayor, y lo probe con un Case When y este si me respeta todo pero ahi es en donde me duplica las filas en algunos casos.

Les coloco el query que en donde se duplica la linea espero me pueda ayudar a detectar donde esta mi problemita.

SELECT DISTINCT T0.CardCode, T0.CardName, T2.U_Edad, T2.Gender, T2.U_Nacionalidad, T2.Profession,

T2.U_IGSS, T2.U_Cedula, T2.U_FeIngre, T6.endDate, T6.Details, T0.TaxDate, T0.DocDate,

(T1.Quantity*71.43)[Salario en Quetzalez],

T1.Quantity, '8'[Ordinarias], '0.00'[Extraordinarias],

(case when T1.Quantity = '14' Then (((T1.Quantity*71.43)/14)*13) Else (T1.Quantity*71.43)end)[Ordinario],

'0.00'[Extra Ordinario],

(Case when T1.Quantity = '14' Then (((T1.Quantity*71.43)/14))Else '0.00'end)[Septimo ],

(case When T1.ItemCode = 'PLA0016' Then T1.Gtotal else '0' end)[Vacaciones],

(((case when T1.Quantity = '14' Then (((T1.Quantity*71.43)/14)*13) Else (T1.Quantity*71.43)end)+

(Case when T1.Quantity = '14' Then (((T1.Quantity*71.43)/14))Else '0.00'end)+

(case When T1.ItemCode = 'PLA0016' Then T1.Gtotal else '0' end)))[Total],

(((case when T1.Quantity = '14' Then (((T1.Quantity*71.43)/14)*13) Else (T1.Quantity*71.43)end)+

(Case when T1.Quantity = '14' Then (((T1.Quantity*71.43)/14))Else '0.00'end)+

(case When T1.ItemCode = 'PLA0016' Then T1.Gtotal else '0' end)))*0.483/10[IGS],

((case When T4.ItemCode = 'PLA0017' Then T4.Gtotal else '0' end)+

(case When T4.ItemCode = 'PLA0018' Then T4.Gtotal else '0' end)+

(case When T4.ItemCode = 'PLA0019' Then T4.Gtotal else '0' end)+

(case When T4.ItemCode = 'PLA0020' Then T4.Gtotal else '0' end))[Otras Deducciones],

((((case when T1.Quantity = '14' Then (((T1.Quantity*71.43)/14)*13) Else (T1.Quantity*71.43)end)+

(Case when T1.Quantity = '14' Then (((T1.Quantity*71.43)/14))Else '0.00'end)+

(case When T1.ItemCode = 'PLA0016' Then T1.Gtotal else '0' end)))*0.483/10+

(case When T4.ItemCode = 'PLA0017' Then T4.Gtotal else '0' end)+

(case When T4.ItemCode = 'PLA0018' Then T4.Gtotal else '0' end)+

(case When T4.ItemCode = 'PLA0019' Then T4.Gtotal else '0' end)+

(case When T4.ItemCode = 'PLA0020' Then T4.Gtotal else '0' end))[Total Deducciones],

' '[Bono 14 Aguinaldo y Otros]--, --REVISAR ESTE RUBRO PARA VER DE DONDE SALE EL VALOR --

--(case When T1.ItemCode = 'PLA0002' Then T1.Gtotal else '0' end)--+

-- (case When T1.ItemCode = 'PLA0005' Then T1.Gtotal else '0' end)))[Incentivo]

FROM OPCH T0 INNER JOIN

PCH1 T1 ON T0.DocEntry = T1.DocEntry INNER JOIN

OCPR T2 ON T0.CntctCode = T2.CntctCode INNER JOIN

ORPC T3 ON T2.CntctCode = T3.CntctCode INNER JOIN

RPC1 T4 ON T3.DocEntry = T4.DocEntry INNER JOIN

OCRD T5 ON T0.CardCode = T5.CardCode INNER JOIN

OCLG T6 ON T5.CardCode = T6.CardCode

WHERE T5.CardCode = 'O-00500'

GROUP BY T0.CardCode, T0.CardName, T2.U_Edad, T2.Gender, T2.U_Nacionalidad, T2.Profession,

T2.U_IGSS, T2.U_Cedula, T2.U_FeIngre, T6.endDate, T6.Details, T0.TaxDate, T0.DocDate,

T1.GTotal, T1.ItemCode, T1.Quantity, T4.ItemCode, T4.Gtotal

De antemano muy agradecido por la ayuda.

Saludos Cordiales