Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/02/2007, 11:09
mickeystar
 
Fecha de Ingreso: julio-2006
Mensajes: 12
Antigüedad: 17 años, 10 meses
Puntos: 0
Pregunta refencias cruzadas, tablas cruzadas, cross tab o como querais llamarlo. Ayuda

A ver tengo una serie de datos una tabla de pedidos de compra y una tabla de pedidos de ventas.

En una tabla tengo lo siguiguiente:
Ejemp.

Pedido Ven.

PedN Ref. Cant.
----|-----|-- |
1 | 1000| 5 |
2 | 1000| 3 |
3 | 1000| 4 |
4 | 1000| 1 |
----|-----|---|

Pedido Com.


PedN Ref. Und.
--|-----|-|
1| 1000|1|
2| 1000|3|
--|-----|-|

La idea es obtener un resultado como el siguiente:

Resultado:
RefN. Vent. Comp.
-------|--------|---------|
1000 | 13 | 4 |
-------|--------|---------|


Pero no el resultado es otro, esta es la consulta.

Cita:
SELECT A.REFN,
SUM(CASE when A.UNIDADES>0 THEN (A.UNIDADES) ELSE 0 END) AS 'PEN SER',
SUM(CASE when b.UNIDADES>0 THEN (B.UNIDADES) ELSE 0 END) AS 'PEN LLE'
FROM PEDIVE A
LEFT JOIN PEDICO B ON B.REFN=A.REFN
GROUP BY A.REFN
ORDER BY A.REFN;
Y el resultado obtenido es el siguiente:

RefN. Vent. Comp.
-------|--------|---------|
1000 | 26 | 16 |
-------|--------|---------|

si vamos al detalle sin totalizar el resultado de la consulta es la siguiente:

RefN. Vent. Comp.
-------|--------|---------|
1000 | 5 | 1 |
1000 | 5 | 3 |
1000 | 4 | 1 |
1000 | 4 | 3 |
1000 | 3 | 1 |
1000 | 3 | 3 |
1000 | 1 | 1 |
1000 | 1 | 3 |
-------|--------|---------|
26 16

la consulta de arriba aun que he provado de hacerlas de muchas forma siempre me da el mismo resulta.

He tratado de hacerlo con crystal report y nada.

bueno aver si alguien que entienda un poco mas de SQL me da una mano con este asuntillo.

Gracias de antemano.
Miguel

Última edición por mickeystar; 19/02/2007 a las 11:14