Se podrá hacer con un Pivot ???

Alfredo
04 de Junio del 2009
Esto se podrá hacer con el Pivot ???

Hola amigos, quería desafiar sus conocimientos en SQLServer 2005
Tengo ya estructurada una base de datos y necesito resolver una problema.
Para hallar el resultado tengo que hacer una serie de artificios, y lo ideal es que pueda obtener mi resultado con un solo SELECT de la manera mas adecuada y profesional.

-Tengo 3 tablas: C_VENTA, D_VENTA y D_GUIA_LOTES

CONDICIONES:
- La estructura de la base de datos no puede ser cambiada.
- No siempre va a ver información de 'Lotes'.
- Tener 2 opciones de 'Select SQL'. Uno que me permita concatenar 3 'Lotes' como máximo y la

otra opción puede ser concatenar 'Lotes' sin límites.


C_VENTA
-----------------------------------------------
id_doc cliente id_Guia total
-----------------------------------------------
F-0001 CLI_002 GUI_001 3600.00 **
B-0001 CLI_091 .NULL. 8500.00
F-0003 CLI_088 .NULL. 1000.00
-----------------------------------------------

D_VENTA
---------------------------------------
id_doc id_prod Cant. precio
---------------------------------------
F-0001 PRO_001 100 1100.00
F-0001 PRO_002 200 1200.00
F-0001 PRO_003 300 1300.00
---------------------------------------

D_GUIA_LOTES
---------------------------------
Id_Guia id_Prod Lote
---------------------------------
GUI_001 PRO_001 LOT-AAA11
GUI_001 PRO_001 LOT-BBB22
GUI_001 PRO_002 LOT-CCC33
GUI_001 PRO_003 LOT-DDD44
GUI_001 PRO_003 LOT-XXX55
GUI_001 PRO_003 LOT-ZZZ66
---------------------------------

---------------------------------------------------------------------------
CURSOR_RESULTADO
---------------------------------------------------------------------------
Id_doc Cliente Total id_Prod Cant Precio Lotes
---------------------------------------------------------------------------
F-0001 CLI_002 3600 PRO_001 100 1100 LOT-AAA11|LOT-BBB22
F-0001 CLI_002 3600 PRO_002 200 1200 LOT-CCC33
F-0001 CLI_002 3600 PRO_003 300 1300 LOT-DDD44|LOT-XXX55|LOT-ZZZ66
---------------------------------------------------------------------------