ayuda en agrupacion de Datos en Sqlserver2000

14/09/2005 - 06:07 por Developers | Informe spam
Amigos estoy en un problema y no se como solucionar, necesito agrupar
datos de dos Tablas (Asignacion,Entregas) hasta ahi todo bien pero...
hasta que el gerente pidio que se muestre un campo fecha que proviene
desde la tabla asignacion y no puedo solucionar esto.
Adjunto Consulta que funciona agrupada y estructuras de tabla

SELECT RS.CODIGO, RS.DETALLE, SUM(RS.ASIGNA) AS ASIGNA, SUM(RS.ENTREGA)
AS ENTREGA
FROM (SELECT CODIGO, DETALLE, ASIGNA, CAST(0.00 AS DECIMAL(10,2)) AS
ENTREGA FROM ASIGNADO WHERE TIPO='VV' AND ORIGEN='0001'
UNION ALL
SELECT CODIGO, DETALLE, CAST(0.00 AS DECIMAL(10,2)) AS ASIGNA, ENTREGA
FROM ENTREGAS WHERE TIPO='VV' AND ORIGEN='0001') RS
GROUP BY RS.CODIGO,RS.DETALLE
HAVING SUM(RS.ASIGNA)-SUM(RS.ENTREGA)>0

EL RESULTADO ACTUAL ES:

CODIGO DETALLE ASIGNA ENTREGA
11111 ROPA 100 55
22222 ZAPATO 35 22

AHORA EL GERENTE PIDE ESTO:

CODIGO FEC_ASIG DETALLE ASIGNA ENTREGA
11111 12/06/2005 ROPA 100 55
22222 13/08/2005 ZAPATO 35 22

ACA ESTAN LAS ESTRUCTURAS DE TABLA

TABLA:ASIGNADOS
CODIGO CHAR(7)
ORIGEN CHAR(4)
DETALLE VARCHAR(55)
FEC_ASIG DATETIME
ASIGNA DECIMAL(8,2)

Contenido:
codigo origen detalle fec_asig asigna
11111 0001 ropa 12/08/2005 55.00
22222 0001 zapato 11/07/2005 35.00
11111 0001 ropa 20/08/2005 35.00
11111 0001 ropa 05/09/2005 10.00


TABLA:ENTREGAS
CODIGO CHAR(7)
ORIGEN CHAR(4)
DETALLE VARCHAR(55)
ENTREGA DECIMAL(8,2)

Contenido:
Codigo Origen detallle entrega
11111 0001 ropa 35
22222 0001 zapato 22

Si notan el campo fecha viene de una tabla "Asignados" y ese campo no se
como adicionar en la consulta ademas que el codigo viene asignado en
varias fechas.

Disculpen por el enorme estoy desesperado por encontrar una solucion

Gracias y espero sus prontas ayudas..

Developers

Preguntas similare

Leer las respuestas

#1 Developers
14/09/2005 - 15:23 | Informe spam
Gracias, me sacaste de un problema bien enorme. por eso me encanta este
foro.


Developers

"Meir" escribió en el mensaje
news:
Prueba esto a ver si es lo que necesitas
Meir

SELECT RS.CODIGO, RS.DETALLE, SUM(RS.ASIGNA) AS ASIGNA, SUM(RS.ENTREGA)
AS ENTREGA, (SELECT MAX(FEC_ASIG) FROM ASIGNADOS WHERE ASIGNADOS.CODIGO > RS.CODIGO) AS FEC_ASIG
FROM (SELECT CODIGO, DETALLE, ASIGNA, CAST(0.00 AS DECIMAL(10,2)) AS
ENTREGA FROM ASIGNADO WHERE TIPO='VV' AND ORIGEN='0001'
UNION ALL
SELECT CODIGO, DETALLE, CAST(0.00 AS DECIMAL(10,2)) AS ASIGNA, ENTREGA
FROM ENTREGAS WHERE TIPO='VV' AND ORIGEN='0001') RS
GROUP BY RS.CODIGO,RS.DETALLE
HAVING SUM(RS.ASIGNA)-SUM(RS.ENTREGA)>0

"Developers" wrote in message
news:uwx$
> Amigos estoy en un problema y no se como solucionar, necesito agrupar
> datos de dos Tablas (Asignacion,Entregas) hasta ahi todo bien pero...
> hasta que el gerente pidio que se muestre un campo fecha que proviene
> desde la tabla asignacion y no puedo solucionar esto.
> Adjunto Consulta que funciona agrupada y estructuras de tabla
>
> SELECT RS.CODIGO, RS.DETALLE, SUM(RS.ASIGNA) AS ASIGNA, SUM(RS.ENTREGA)


AS
> ENTREGA
> FROM (SELECT CODIGO, DETALLE, ASIGNA, CAST(0.00 AS DECIMAL(10,2)) AS
> ENTREGA FROM ASIGNADO WHERE TIPO='VV' AND ORIGEN='0001'
> UNION ALL
> SELECT CODIGO, DETALLE, CAST(0.00 AS DECIMAL(10,2)) AS ASIGNA, ENTREGA
> FROM ENTREGAS WHERE TIPO='VV' AND ORIGEN='0001') RS
> GROUP BY RS.CODIGO,RS.DETALLE
> HAVING SUM(RS.ASIGNA)-SUM(RS.ENTREGA)>0
>
> EL RESULTADO ACTUAL ES:
>
> CODIGO DETALLE ASIGNA ENTREGA
> 11111 ROPA 100 55
> 22222 ZAPATO 35 22
>
> AHORA EL GERENTE PIDE ESTO:
>
> CODIGO FEC_ASIG DETALLE ASIGNA ENTREGA
> 11111 12/06/2005 ROPA 100 55
> 22222 13/08/2005 ZAPATO 35 22
>
> ACA ESTAN LAS ESTRUCTURAS DE TABLA
>
> TABLA:ASIGNADOS
> CODIGO CHAR(7)
> ORIGEN CHAR(4)
> DETALLE VARCHAR(55)
> FEC_ASIG DATETIME
> ASIGNA DECIMAL(8,2)
>
> Contenido:
> codigo origen detalle fec_asig asigna
> 11111 0001 ropa 12/08/2005 55.00
> 22222 0001 zapato 11/07/2005 35.00
> 11111 0001 ropa 20/08/2005 35.00
> 11111 0001 ropa 05/09/2005 10.00
>
>
> TABLA:ENTREGAS
> CODIGO CHAR(7)
> ORIGEN CHAR(4)
> DETALLE VARCHAR(55)
> ENTREGA DECIMAL(8,2)
>
> Contenido:
> Codigo Origen detallle entrega
> 11111 0001 ropa 35
> 22222 0001 zapato 22
>
> Si notan el campo fecha viene de una tabla "Asignados" y ese campo no se
> como adicionar en la consulta ademas que el codigo viene asignado en
> varias fechas.
>
> Disculpen por el enorme estoy desesperado por encontrar una solucion
>
> Gracias y espero sus prontas ayudas..
>
> Developers
>
>
>
>
>


Respuesta Responder a este mensaje
#2 Meir
14/09/2005 - 15:34 | Informe spam
Prueba esto a ver si es lo que necesitas
Meir

SELECT RS.CODIGO, RS.DETALLE, SUM(RS.ASIGNA) AS ASIGNA, SUM(RS.ENTREGA)
AS ENTREGA, (SELECT MAX(FEC_ASIG) FROM ASIGNADOS WHERE ASIGNADOS.CODIGO =
RS.CODIGO) AS FEC_ASIG
FROM (SELECT CODIGO, DETALLE, ASIGNA, CAST(0.00 AS DECIMAL(10,2)) AS
ENTREGA FROM ASIGNADO WHERE TIPO='VV' AND ORIGEN='0001'
UNION ALL
SELECT CODIGO, DETALLE, CAST(0.00 AS DECIMAL(10,2)) AS ASIGNA, ENTREGA
FROM ENTREGAS WHERE TIPO='VV' AND ORIGEN='0001') RS
GROUP BY RS.CODIGO,RS.DETALLE
HAVING SUM(RS.ASIGNA)-SUM(RS.ENTREGA)>0

"Developers" wrote in message
news:uwx$
Amigos estoy en un problema y no se como solucionar, necesito agrupar
datos de dos Tablas (Asignacion,Entregas) hasta ahi todo bien pero...
hasta que el gerente pidio que se muestre un campo fecha que proviene
desde la tabla asignacion y no puedo solucionar esto.
Adjunto Consulta que funciona agrupada y estructuras de tabla

SELECT RS.CODIGO, RS.DETALLE, SUM(RS.ASIGNA) AS ASIGNA, SUM(RS.ENTREGA) AS
ENTREGA
FROM (SELECT CODIGO, DETALLE, ASIGNA, CAST(0.00 AS DECIMAL(10,2)) AS
ENTREGA FROM ASIGNADO WHERE TIPO='VV' AND ORIGEN='0001'
UNION ALL
SELECT CODIGO, DETALLE, CAST(0.00 AS DECIMAL(10,2)) AS ASIGNA, ENTREGA
FROM ENTREGAS WHERE TIPO='VV' AND ORIGEN='0001') RS
GROUP BY RS.CODIGO,RS.DETALLE
HAVING SUM(RS.ASIGNA)-SUM(RS.ENTREGA)>0

EL RESULTADO ACTUAL ES:

CODIGO DETALLE ASIGNA ENTREGA
11111 ROPA 100 55
22222 ZAPATO 35 22

AHORA EL GERENTE PIDE ESTO:

CODIGO FEC_ASIG DETALLE ASIGNA ENTREGA
11111 12/06/2005 ROPA 100 55
22222 13/08/2005 ZAPATO 35 22

ACA ESTAN LAS ESTRUCTURAS DE TABLA

TABLA:ASIGNADOS
CODIGO CHAR(7)
ORIGEN CHAR(4)
DETALLE VARCHAR(55)
FEC_ASIG DATETIME
ASIGNA DECIMAL(8,2)

Contenido:
codigo origen detalle fec_asig asigna
11111 0001 ropa 12/08/2005 55.00
22222 0001 zapato 11/07/2005 35.00
11111 0001 ropa 20/08/2005 35.00
11111 0001 ropa 05/09/2005 10.00


TABLA:ENTREGAS
CODIGO CHAR(7)
ORIGEN CHAR(4)
DETALLE VARCHAR(55)
ENTREGA DECIMAL(8,2)

Contenido:
Codigo Origen detallle entrega
11111 0001 ropa 35
22222 0001 zapato 22

Si notan el campo fecha viene de una tabla "Asignados" y ese campo no se
como adicionar en la consulta ademas que el codigo viene asignado en
varias fechas.

Disculpen por el enorme estoy desesperado por encontrar una solucion

Gracias y espero sus prontas ayudas..

Developers





email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida