Consulta con SQL y ASP

02/05/2007 - 16:42 por Erika H. | Informe spam
Hola que tal, tengo un problema en una consulta, en un formulario muestro con
un SQL la union de 6 tablas, pero en una requiero que sume un campo.
En las anteriores 5 tablas mi campo llave no se repite, pero en la 6 si, y
en esta es donde se almacena el campo cantidad que deseo sumar. Lo intente
con un Group By pero no me muestra los datos correctos, alguien me podria
indicar de que forma puedo hacer para unir las 6 tablas y me muestre la suma
de las cantidaddes de la ultima?.
Hice la siguiente prueba:
SELECT or_corte, or_piezas, or_clave, or_articulo, or_lavado, or_modeloe,
or_comentar, or_ehilo, or_eavios,or_emetales, or_eempaque, pt_codigo,
bu_clave, bu_fechac, lc_orden, lc_telasig, lc_telasigna,
cn_orden,cn_planta,cn_entradae, cn_entrada, cn_real,cn_salida,cn_cortada,
lv_orden, SUM(lv_cantidadl) AS cantidadTT,lv_fechae,lv_fechasp From orden
FULL JOIN PromedioT ON PromedioT.pt_oc=orden.or_corte AND
PromedioT.pt_cliente=orden.or_clave FULL JOIN Bultos ON
Bultos.bu_clave=PromedioT.pt_oc AND Bultos.bu_clavec=PromedioT.pt_cliente
FULL JOIN LCortes ON LCortes.lc_orden=Bultos.bu_clave AND
LCortes.lc_clave=Bultos.bu_clavec FULL JOIN Confeccion ON
Confeccion.cn_orden=LCortes.lc_orden AND Confeccion.cn_clave=LCortes.lc_clave
FULL JOIN LavanderiaD ON LavanderiaD.lv_orden=Confeccion.cn_orden AND
LavanderiaD.lv_clave=Confeccion.cn_clave Where Orden.or_cliente='0003' and
or_mes='1' AND or_aprograma='2007'
GROUP BY lv_orden, lv_fechae,or_corte, or_piezas, or_clave, or_articulo,
or_lavado, or_modeloe, or_comentar, or_ehilo, or_eavios,or_emetales,
or_eempaque, pt_codigo, bu_clave,bu_fechac, lc_orden, lc_telasig,
lc_telasigna, cn_orden,cn_planta,cn_entradae, cn_entrada,
cn_real,cn_salida,cn_cortada, lv_orden, lv_fechasp ORDER BY or_corte

Pero no me arroja la suma correcta.
Agradezco la ayuda
Salu2
Erika Hdez

Preguntas similare

Leer las respuestas

#1 Manuel Vera
02/05/2007 - 17:59 | Informe spam
Hola Erika

Lo que debes hacer es un sub-query de la Tabla-6 y luego unirlo al query
original como una tabla donde no se repite el ID. Por ejemplo

SELECT
FROM Tabla1 ..join.. Tabla2 ..on
inner join ( select ID , sum( cantidad) from Tabla6 where ID = xidx ) as T6
on Tabla1.ID = T6.ID
where Tabla1.ID = xidx

Cualquier otra duda estamos a la orden

Salu2
MV-K



"Erika H." escribió en el mensaje
news:
Hola que tal, tengo un problema en una consulta, en un formulario muestro
con
un SQL la union de 6 tablas, pero en una requiero que sume un campo.
En las anteriores 5 tablas mi campo llave no se repite, pero en la 6 si, y
en esta es donde se almacena el campo cantidad que deseo sumar. Lo intente
con un Group By pero no me muestra los datos correctos, alguien me podria
indicar de que forma puedo hacer para unir las 6 tablas y me muestre la
suma
de las cantidaddes de la ultima?.
Hice la siguiente prueba:
SELECT or_corte, or_piezas, or_clave, or_articulo, or_lavado, or_modeloe,
or_comentar, or_ehilo, or_eavios,or_emetales, or_eempaque, pt_codigo,
bu_clave, bu_fechac, lc_orden, lc_telasig, lc_telasigna,
cn_orden,cn_planta,cn_entradae, cn_entrada, cn_real,cn_salida,cn_cortada,
lv_orden, SUM(lv_cantidadl) AS cantidadTT,lv_fechae,lv_fechasp From orden
FULL JOIN PromedioT ON PromedioT.pt_oc=orden.or_corte AND
PromedioT.pt_cliente=orden.or_clave FULL JOIN Bultos ON
Bultos.bu_clave=PromedioT.pt_oc AND Bultos.bu_clavec=PromedioT.pt_cliente
FULL JOIN LCortes ON LCortes.lc_orden=Bultos.bu_clave AND
LCortes.lc_clave=Bultos.bu_clavec FULL JOIN Confeccion ON
Confeccion.cn_orden=LCortes.lc_orden AND
Confeccion.cn_clave=LCortes.lc_clave
FULL JOIN LavanderiaD ON LavanderiaD.lv_orden=Confeccion.cn_orden AND
LavanderiaD.lv_clave=Confeccion.cn_clave Where Orden.or_cliente='0003'
and
or_mes='1' AND or_aprograma='2007'
GROUP BY lv_orden, lv_fechae,or_corte, or_piezas, or_clave, or_articulo,
or_lavado, or_modeloe, or_comentar, or_ehilo, or_eavios,or_emetales,
or_eempaque, pt_codigo, bu_clave,bu_fechac, lc_orden, lc_telasig,
lc_telasigna, cn_orden,cn_planta,cn_entradae, cn_entrada,
cn_real,cn_salida,cn_cortada, lv_orden, lv_fechasp ORDER BY or_corte

Pero no me arroja la suma correcta.
Agradezco la ayuda
Salu2
Erika Hdez
Respuesta Responder a este mensaje
#2 Erika H.
03/05/2007 - 20:31 | Informe spam
Hola que tal agradezco tu ayuda, el problema que tengo es que no tengo una
clave en especifico, es decir, debo mostrar los datos por mes, si en el mes
de Enero tengo la clave 1,2,3,4,5,6,10,13,15, debo mostrar estos datos. Si le
pongo asi como me indicas tendra que ser algo asi como Tabla6 where ID = 13 )
as T6 on Tabla1.ID = T6.ID where Tabla1.ID = 13, pero esta clave no la
conozco ya que estoy haciendo mi seleccion por mes.

Muchas gracias por la atencion
saludos
Erika Hdez


"Manuel Vera" wrote:

Hola Erika

Lo que debes hacer es un sub-query de la Tabla-6 y luego unirlo al query
original como una tabla donde no se repite el ID. Por ejemplo

SELECT
FROM Tabla1 ..join.. Tabla2 ..on
inner join ( select ID , sum( cantidad) from Tabla6 where ID = xidx ) as T6
on Tabla1.ID = T6.ID
where Tabla1.ID = xidx

Cualquier otra duda estamos a la orden

Salu2
MV-K



"Erika H." escribió en el mensaje
news:
> Hola que tal, tengo un problema en una consulta, en un formulario muestro
> con
> un SQL la union de 6 tablas, pero en una requiero que sume un campo.
> En las anteriores 5 tablas mi campo llave no se repite, pero en la 6 si, y
> en esta es donde se almacena el campo cantidad que deseo sumar. Lo intente
> con un Group By pero no me muestra los datos correctos, alguien me podria
> indicar de que forma puedo hacer para unir las 6 tablas y me muestre la
> suma
> de las cantidaddes de la ultima?.
> Hice la siguiente prueba:
> SELECT or_corte, or_piezas, or_clave, or_articulo, or_lavado, or_modeloe,
> or_comentar, or_ehilo, or_eavios,or_emetales, or_eempaque, pt_codigo,
> bu_clave, bu_fechac, lc_orden, lc_telasig, lc_telasigna,
> cn_orden,cn_planta,cn_entradae, cn_entrada, cn_real,cn_salida,cn_cortada,
> lv_orden, SUM(lv_cantidadl) AS cantidadTT,lv_fechae,lv_fechasp From orden
> FULL JOIN PromedioT ON PromedioT.pt_oc=orden.or_corte AND
> PromedioT.pt_cliente=orden.or_clave FULL JOIN Bultos ON
> Bultos.bu_clave=PromedioT.pt_oc AND Bultos.bu_clavec=PromedioT.pt_cliente
> FULL JOIN LCortes ON LCortes.lc_orden=Bultos.bu_clave AND
> LCortes.lc_clave=Bultos.bu_clavec FULL JOIN Confeccion ON
> Confeccion.cn_orden=LCortes.lc_orden AND
> Confeccion.cn_clave=LCortes.lc_clave
> FULL JOIN LavanderiaD ON LavanderiaD.lv_orden=Confeccion.cn_orden AND
> LavanderiaD.lv_clave=Confeccion.cn_clave Where Orden.or_cliente='0003'
> and
> or_mes='1' AND or_aprograma='2007'
> GROUP BY lv_orden, lv_fechae,or_corte, or_piezas, or_clave, or_articulo,
> or_lavado, or_modeloe, or_comentar, or_ehilo, or_eavios,or_emetales,
> or_eempaque, pt_codigo, bu_clave,bu_fechac, lc_orden, lc_telasig,
> lc_telasigna, cn_orden,cn_planta,cn_entradae, cn_entrada,
> cn_real,cn_salida,cn_cortada, lv_orden, lv_fechasp ORDER BY or_corte
>
> Pero no me arroja la suma correcta.
> Agradezco la ayuda
> Salu2
> Erika Hdez



Respuesta Responder a este mensaje
#3 Manuel Vera
03/05/2007 - 20:48 | Informe spam
Hola Erika

No hay problema con lo que mencionas, solo que debes ajustar el query a tus
necesidades reales.

Por ejemplo, algo como esto:

SELECT
FROM Tabla1 ..join.. Tabla2 ..on
inner join ( select ID , sum( cantidad) from Tabla6 ) as T6
on Tabla1.ID = T6.ID
where Tabla1.Mes = xmesx

Si la Tabla6 posee un campo de Mes, entonces se lo agregas al subquery.
El campo que yo llamo "Mes" es posible que sea una fecha completa y deberás
aplicar las funciones necesarias para obtener el valor de mes.

Salu2
MV-K

"Erika H." escribió en el mensaje
news:
Hola que tal agradezco tu ayuda, el problema que tengo es que no tengo una
clave en especifico, es decir, debo mostrar los datos por mes, si en el
mes
de Enero tengo la clave 1,2,3,4,5,6,10,13,15, debo mostrar estos datos. Si
le
pongo asi como me indicas tendra que ser algo asi como Tabla6 where ID =
13 )
as T6 on Tabla1.ID = T6.ID where Tabla1.ID = 13, pero esta clave no la
conozco ya que estoy haciendo mi seleccion por mes.

Muchas gracias por la atencion
saludos
Erika Hdez


"Manuel Vera" wrote:

Hola Erika

Lo que debes hacer es un sub-query de la Tabla-6 y luego unirlo al query
original como una tabla donde no se repite el ID. Por ejemplo

SELECT
FROM Tabla1 ..join.. Tabla2 ..on
inner join ( select ID , sum( cantidad) from Tabla6 where ID = xidx ) as
T6
on Tabla1.ID = T6.ID
where Tabla1.ID = xidx

Cualquier otra duda estamos a la orden

Salu2
MV-K



"Erika H." escribió en el mensaje
news:
> Hola que tal, tengo un problema en una consulta, en un formulario
> muestro
> con
> un SQL la union de 6 tablas, pero en una requiero que sume un campo.
> En las anteriores 5 tablas mi campo llave no se repite, pero en la 6
> si, y
> en esta es donde se almacena el campo cantidad que deseo sumar. Lo
> intente
> con un Group By pero no me muestra los datos correctos, alguien me
> podria
> indicar de que forma puedo hacer para unir las 6 tablas y me muestre la
> suma
> de las cantidaddes de la ultima?.
> Hice la siguiente prueba:
> SELECT or_corte, or_piezas, or_clave, or_articulo, or_lavado,
> or_modeloe,
> or_comentar, or_ehilo, or_eavios,or_emetales, or_eempaque, pt_codigo,
> bu_clave, bu_fechac, lc_orden, lc_telasig, lc_telasigna,
> cn_orden,cn_planta,cn_entradae, cn_entrada,
> cn_real,cn_salida,cn_cortada,
> lv_orden, SUM(lv_cantidadl) AS cantidadTT,lv_fechae,lv_fechasp From
> orden
> FULL JOIN PromedioT ON PromedioT.pt_oc=orden.or_corte AND
> PromedioT.pt_cliente=orden.or_clave FULL JOIN Bultos ON
> Bultos.bu_clave=PromedioT.pt_oc AND
> Bultos.bu_clavec=PromedioT.pt_cliente
> FULL JOIN LCortes ON LCortes.lc_orden=Bultos.bu_clave AND
> LCortes.lc_clave=Bultos.bu_clavec FULL JOIN Confeccion ON
> Confeccion.cn_orden=LCortes.lc_orden AND
> Confeccion.cn_clave=LCortes.lc_clave
> FULL JOIN LavanderiaD ON LavanderiaD.lv_orden=Confeccion.cn_orden AND
> LavanderiaD.lv_clave=Confeccion.cn_clave Where Orden.or_cliente='0003'
> and
> or_mes='1' AND or_aprograma='2007'
> GROUP BY lv_orden, lv_fechae,or_corte, or_piezas, or_clave,
> or_articulo,
> or_lavado, or_modeloe, or_comentar, or_ehilo, or_eavios,or_emetales,
> or_eempaque, pt_codigo, bu_clave,bu_fechac, lc_orden, lc_telasig,
> lc_telasigna, cn_orden,cn_planta,cn_entradae, cn_entrada,
> cn_real,cn_salida,cn_cortada, lv_orden, lv_fechasp ORDER BY or_corte
>
> Pero no me arroja la suma correcta.
> Agradezco la ayuda
> Salu2
> Erika Hdez



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