Consulta multi-tabla
Publicado por Carlos (7 intervenciones) el 14/08/2013 22:21:43
CLIENTE
cod_hijo
cod_padre
cod_vendedor
cod_cobrador
nombre_cliente
forma_pago
DOCUMENTO
cod_cliente_hijo
cod_vendedor
documento
tipo_documento
factura
fecha_documento
fecha_vencimiento
forma_pago
moneda
valor_neto
valor_tax
VENDEDOR
cod_vendedor
nombre_vendedor
"SELECT
CLIENTE.cod_padre, DOCUMENTO.cod_cliente_hijo, CLIENTE.nombre_cliente, DOCUMENTO.factura, DOCUMENTO.forma_pago, SUM(DOCUMENTO.valor_neto + DOCUMENTO.valor_tax) AS VALOR
FROM
CLIENTE
DOCUMENTO
WHERE
CLIENTE.cod_hijo = DOCUMENTO.cod_cliente_hijo AND
DOCUMENTO.moneda = 'PES'
GROUP BY
CLIENTE.cod_padre, DOCUMENTO.cod_cliente_hijo, CLIENTE.nombre_cliente, DOCUMENTO.factura, DOCUMENTO.forma_pago
HAVING
SUM(DOCUMENTO.valor_neto + DOCUMENTO.valor_tax) <> 0
ORDER BY
DOCUMENTO.factura ASC"
"Aclaraciones:
1. Un cliente puede tener varios códigos hijos o puede tener un código único, como se muestra en la tabla.
2. ""documento"" puede ser de 3 tipos diferentes: factura, nota crédito o nota débito.
3. un ""documento"" puede ser aplicado a una ""factura"" (una NC o ND), con lo cual el valor de la factura aumenta o disminuye.
4. cada documento tiene una fecha de creación (fecha_documento), solo la factura tiene una fecha de vencimiento (en los otros casos es la misma fecha de documento).
5. el valor de la factura y el iva están en campos diferentes (valor_neto, valor_tax)
El problema
Necesito el resultado que se muestra en la tabla mostrando solo el valor consolidado por factura (hasta aquí llego), trayendo en la consulta solo la fecha del documento factura, sin mostrar los otros tipos de documentos, el total debe ser el saldo de la factura.
Necesito ayuda para traer las fechas, sin duplicar documentos, sin mostrar varias veces el número de la factura con valores diferentes, espero se entienda. Anticipadamente gracias por la ayuda."
COBRADOR: 123, JUANITO PEREZ
PADRE - HIJO - CLIENTE - F. DOC - F. VEN - FACTURA - VALOR DOC
3667 - 366701 - CLIENTE1 - - - 169624 - 412,614.72
3667 - 366701 - CLIENTE1 - - - 181407 - 2,832,213.67
3468 - 3468 - CLIENTE2 - - - 184632 - 17,630.21
cod_hijo
cod_padre
cod_vendedor
cod_cobrador
nombre_cliente
forma_pago
DOCUMENTO
cod_cliente_hijo
cod_vendedor
documento
tipo_documento
factura
fecha_documento
fecha_vencimiento
forma_pago
moneda
valor_neto
valor_tax
VENDEDOR
cod_vendedor
nombre_vendedor
"SELECT
CLIENTE.cod_padre, DOCUMENTO.cod_cliente_hijo, CLIENTE.nombre_cliente, DOCUMENTO.factura, DOCUMENTO.forma_pago, SUM(DOCUMENTO.valor_neto + DOCUMENTO.valor_tax) AS VALOR
FROM
CLIENTE
DOCUMENTO
WHERE
CLIENTE.cod_hijo = DOCUMENTO.cod_cliente_hijo AND
DOCUMENTO.moneda = 'PES'
GROUP BY
CLIENTE.cod_padre, DOCUMENTO.cod_cliente_hijo, CLIENTE.nombre_cliente, DOCUMENTO.factura, DOCUMENTO.forma_pago
HAVING
SUM(DOCUMENTO.valor_neto + DOCUMENTO.valor_tax) <> 0
ORDER BY
DOCUMENTO.factura ASC"
"Aclaraciones:
1. Un cliente puede tener varios códigos hijos o puede tener un código único, como se muestra en la tabla.
2. ""documento"" puede ser de 3 tipos diferentes: factura, nota crédito o nota débito.
3. un ""documento"" puede ser aplicado a una ""factura"" (una NC o ND), con lo cual el valor de la factura aumenta o disminuye.
4. cada documento tiene una fecha de creación (fecha_documento), solo la factura tiene una fecha de vencimiento (en los otros casos es la misma fecha de documento).
5. el valor de la factura y el iva están en campos diferentes (valor_neto, valor_tax)
El problema
Necesito el resultado que se muestra en la tabla mostrando solo el valor consolidado por factura (hasta aquí llego), trayendo en la consulta solo la fecha del documento factura, sin mostrar los otros tipos de documentos, el total debe ser el saldo de la factura.
Necesito ayuda para traer las fechas, sin duplicar documentos, sin mostrar varias veces el número de la factura con valores diferentes, espero se entienda. Anticipadamente gracias por la ayuda."
COBRADOR: 123, JUANITO PEREZ
PADRE - HIJO - CLIENTE - F. DOC - F. VEN - FACTURA - VALOR DOC
3667 - 366701 - CLIENTE1 - - - 169624 - 412,614.72
3667 - 366701 - CLIENTE1 - - - 181407 - 2,832,213.67
3468 - 3468 - CLIENTE2 - - - 184632 - 17,630.21
Valora esta pregunta


0