La mejor consulta para ...

12/10/2005 - 14:33 por Daniel | Informe spam
Buen dia

Quisiera saber cual seria la consulta mas optima para obtener lo siguiente:

Dado un escenario con 3 tablas;
Una para las sucursales [SUCURSALES]
Otra para los comprobantes de venta [COMPROBANTES] los cuales estan ligados
a cada sucursal
Otra para el detalle de los pagos [PAGOS] asociados al comprobante.
Y por último una tabla de formas de pago [FORMA_PAGO] que almacena el nombre
de cada forma de pago utilizada en [PAGOS]

En la empresa me piden un informe de detalle de cobranzas de ventas
encolumnado por forma de pago de la siguiente manera

SUCURSAL / TOTAL VENTAS / EFECTIVO / TICKET / TARJETAS / CHEQUES, ETC...

El resultado debe estar sumarizado por sucursal.

La mejor manera es haciendo una subconsulta por cada columna de importes?
Si uso agrupamiento me muestra 1 registro por cada forma de pago y yo
necesito 1 columna por cada forma de pago.


Gracias por leer hasta aca


Saludos
 

Leer las respuestas

#1 Alejandro Mesa
12/10/2005 - 15:29 | Informe spam
Necesitas un "crosstab query", lo puedes hacer en access, tambien si usas
crystal reports, pero sql server 2000 to tiene esa facilidad, aunque te
comento que la funcion 2005 cuanta con el operador PIVOT y UNPIVOT. Aca te
paso un par de links para que aprendas como lograr esto usando t-sql. En tu
caso particular, como no sabemos exactamente cuantos tipos de pagos tenemos o
si estos pueden cambiar, preferible usar un crosstab query dinamico.

HOW TO: Rotate a Table in SQL Server
http://support.microsoft.com/defaul...roduct=sql

Dynamic Crosstab Queries
http://www.windowsitpro.com/SQLServ...15608.html

Dynamic Cross-Tabs/Pivot Tables
http://www.sqlteam.com/item.asp?ItemID)55


AMB

"Daniel" wrote:

Buen dia

Quisiera saber cual seria la consulta mas optima para obtener lo siguiente:

Dado un escenario con 3 tablas;
Una para las sucursales [SUCURSALES]
Otra para los comprobantes de venta [COMPROBANTES] los cuales estan ligados
a cada sucursal
Otra para el detalle de los pagos [PAGOS] asociados al comprobante.
Y por último una tabla de formas de pago [FORMA_PAGO] que almacena el nombre
de cada forma de pago utilizada en [PAGOS]

En la empresa me piden un informe de detalle de cobranzas de ventas
encolumnado por forma de pago de la siguiente manera

SUCURSAL / TOTAL VENTAS / EFECTIVO / TICKET / TARJETAS / CHEQUES, ETC...

El resultado debe estar sumarizado por sucursal.

La mejor manera es haciendo una subconsulta por cada columna de importes?
Si uso agrupamiento me muestra 1 registro por cada forma de pago y yo
necesito 1 columna por cada forma de pago.


Gracias por leer hasta aca


Saludos



Preguntas similares