on 01-28-2015 4:43 PM
Buenos días
Tengo el siguiente Query para pagos recibidos, sin embargo al momento de totalizar el monto de los depósitos me doy cuenta que tengo datos que se repiten y esto es porque le agregue el detalle de facturas y por lo tanto por cada factura me dará una línea diferente no así con los montos de depósitos por ser el documento base.
Mi necesidad es que solo aparezca una vez el monto del depósito a pesar de tener varias facturas pagadas tomando en cuenta que los valores de depósitos salen de la misma tabla y he aquí donde encuentro algo de dificultad para hacer la discriminación.
Agradezco su ayuda
Saludos cordiales
SELECT
, T0.[DocDate]
, T3.[SeriesName]
, T0.[CardName]
, T0.[DocNum]
, T0.[TrsfrRef]
, [Depósito] = (Case When T1.[CheckSum] >= 0 Then '0' Else T0.[DocTotal] End)
, T1.[CheckNum]
,T1.[BankCode]
, T1.[CheckSum]
, T2.[DocNum]
FROM ORCT T0
LEFT JOIN RCT1 T1 ON T0.DocEntry = T1.DocNum
LEFT JOIN OINV T2 ON T0.DocEntry = T2.ReceiptNum
INNER JOIN NNM1 T3 ON T0.Series = T3.Series
WHERE T0.[Canceled] Not in ('Y') and T0.[DocDate] Between [%0] and [%1] and T3.[SeriesName] = [%2]
Estimado Marco puedes probar con este codigo:
SELECT T0.[DocDate]
, T3.[SeriesName]
, T0.[CardName]
, T0.[DocNum]
, T0.[TrsfrRef]
, CASE T2.[InvoiceId]
WHEN ' ' THEN T0.[DocTotal]
ELSE '0.00 '
END as 'Depósito'
, T1.[CheckNum]
,T1.[BankCode]
, T1.[CheckSum]
, T2.[DocEntry]'Doc. Factura'
, CASE T2.[InvType]
WHEN '14' then (T2.[AppliedSys]*-1)
ELSE T2.[AppliedSys]
END 'Pagado por Factura' FROM ORCT T0
LEFT JOIN RCT1 T1 ON T0.DocEntry = T1.DocNum
LEFT JOIN RCT2 T2 ON T0.DocEntry = T2.DocNum
INNER JOIN NNM1 T3 ON T0.Series = T3.Series WHERE T0.[Canceled] Not in ('Y') and
T0.[DocDate] Between [%0] and [%1] and
T3.[SeriesName] = [%2]
Espero te sirva.
Saludos
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
A mi cuando me pasa eso trato de buscar en cual tabla hay un campo de Linenum, y agrego "where linenum = 0" para que solamente me ponga el primer dato.
La otra que puede ser, es usar el SELECT DISTINCT, pero no se si en tu caso funcionará porque no se si las líneas que se repiten tienen los mismos datos.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Marco, una opción podría ser pasar tu query a Crystal Reports tomando en cuenta que en dicho reporteador podemos tratar con este tipo de requerimientos, no se si esto pueda ser una opción en tu caso.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
85 | |
7 | |
6 | |
4 | |
3 | |
3 | |
3 | |
3 | |
3 | |
2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.