union

30/06/2003 - 21:01 por Fredy Cabré | Informe spam
Necesitaria tener una vista que me agrupe dos tablas mediante una UNION pero
no me deja coger mas que dos campos.
Resulta que tengo dos tablas que guardan el mismo tipo de campos, pero
necesito sumarlos y agruparlos y no se como hacerlo.
La primera tabla es la de 'Partes' donde guardo el departamento que
realizara las tareas, después resultó que en un mismo parte se podian
realizar tareas de más de un departamento con lo que tuve que crear la tabla
de 'DepartamentosParte' para guardar todos los departamentos de cada parte.
Ahora resulta que he de hacer un informe desglosado por departamentos de
todos los partes.
Me podeis ayudar??

Gracias

Preguntas similare

Leer las respuestas

#1 Javier Loria\(MVP\)
30/06/2003 - 21:29 | Informe spam
Hola Fredy:
No estoy seguro de haber entendido, pero me parece que tienes en la
Tabla PARTES y DEPARTAMENTOSPARTES el codigo del Departamento, y quieres
hacer un agrupamiento por DEPTAMENTO en ambas tablas.
/* PseudoCodigo */
SELECT DepartamentoID, SUM(),
FROM (
SELECT DepartamentoID,
FROM Partes
UNION
SELECT DepartamentoID,
FROM DepartamentosPartes
)
GROUP BY DepartamentoID
/* Fin de PseudoCodigo */

Aun cuando no conozco el problema me parece que que deberias considerar
seriamente un cambio en el esquema.

Saludos,


Javier Loria
Costa Rica (MVP)
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.


"Fredy Cabré" wrote in message
news:
Necesitaria tener una vista que me agrupe dos tablas mediante una UNION


pero
no me deja coger mas que dos campos.
Resulta que tengo dos tablas que guardan el mismo tipo de campos, pero
necesito sumarlos y agruparlos y no se como hacerlo.
La primera tabla es la de 'Partes' donde guardo el departamento que
realizara las tareas, después resultó que en un mismo parte se podian
realizar tareas de más de un departamento con lo que tuve que crear la


tabla
de 'DepartamentosParte' para guardar todos los departamentos de cada


parte.
Ahora resulta que he de hacer un informe desglosado por departamentos de
todos los partes.
Me podeis ayudar??

Gracias




Respuesta Responder a este mensaje
#2 Fredy Cabré
01/07/2003 - 21:59 | Informe spam
Al final lo he hecho haciendo la union de dos vistas por codigo en VB. Por
codigo si que me ha dejado. No se de que forma será más rápida.
Lo del esquema ya se q lo debería cambiar, el problema es q en la tabla
partes ya habian datos de departamentos, pero pq lo dices, es mucho mas
lenta la consulta con las dos tablas y con la Union??


"Javier Loria(MVP)" escribió en el mensaje
news:
Hola Fredy:
No estoy seguro de haber entendido, pero me parece que tienes en la
Tabla PARTES y DEPARTAMENTOSPARTES el codigo del Departamento, y quieres
hacer un agrupamiento por DEPTAMENTO en ambas tablas.
/* PseudoCodigo */
SELECT DepartamentoID, SUM(),
FROM (
SELECT DepartamentoID,
FROM Partes
UNION
SELECT DepartamentoID,
FROM DepartamentosPartes
)
GROUP BY DepartamentoID
/* Fin de PseudoCodigo */

Aun cuando no conozco el problema me parece que que deberias considerar
seriamente un cambio en el esquema.

Saludos,


Javier Loria
Costa Rica (MVP)
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.


"Fredy Cabré" wrote in message
news:
> Necesitaria tener una vista que me agrupe dos tablas mediante una UNION
pero
> no me deja coger mas que dos campos.
> Resulta que tengo dos tablas que guardan el mismo tipo de campos, pero
> necesito sumarlos y agruparlos y no se como hacerlo.
> La primera tabla es la de 'Partes' donde guardo el departamento que
> realizara las tareas, después resultó que en un mismo parte se podian
> realizar tareas de más de un departamento con lo que tuve que crear la
tabla
> de 'DepartamentosParte' para guardar todos los departamentos de cada
parte.
> Ahora resulta que he de hacer un informe desglosado por departamentos de
> todos los partes.
> Me podeis ayudar??
>
> Gracias
>
>
>
>


Respuesta Responder a este mensaje
#3 Javier Loria\(MVP\)
02/07/2003 - 00:53 | Informe spam
Hola Fredy:
No me preocupa tanto el problema de la velocidad sino que eventualmente
tengas problemas de consistencia entre la Tabla Partes y
DepartamentosPartes.
No podrias "mover" los datos de la Tabla Partes hacia la Tabla de
Departamentos Partes de manera que de una vez quedara toda la informacion.
Algo como
/* PseudoCodigo */
INSERT DepartamentosPartes (DepartamentoID, ...)
SELECT DepartamentoID, .
FROM Partes
/* Fin de PseudoCodigo */
Y luego de verificar que pasaste los datos podrias eliminar la columna de
Partes?
Asi no tendrias que "buscar" en 2 tablas y no tendras problemas de
"consistencia" como que haya un numero en el Partes y otro en
DepartamentosPartes.

Saludos,

Javier Loria
Costa Rica (MVP)
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

"Fredy Cabré" wrote in message
news:
Al final lo he hecho haciendo la union de dos vistas por codigo en VB. Por
codigo si que me ha dejado. No se de que forma será más rápida.
Lo del esquema ya se q lo debería cambiar, el problema es q en la tabla
partes ya habian datos de departamentos, pero pq lo dices, es mucho mas
lenta la consulta con las dos tablas y con la Union??


"Javier Loria(MVP)" escribió en el mensaje
news:
> Hola Fredy:
> No estoy seguro de haber entendido, pero me parece que tienes en la
> Tabla PARTES y DEPARTAMENTOSPARTES el codigo del Departamento, y quieres
> hacer un agrupamiento por DEPTAMENTO en ambas tablas.
> /* PseudoCodigo */
> SELECT DepartamentoID, SUM(),
> FROM (
> SELECT DepartamentoID,
> FROM Partes
> UNION
> SELECT DepartamentoID,
> FROM DepartamentosPartes
> )
> GROUP BY DepartamentoID
> /* Fin de PseudoCodigo */
>
> Aun cuando no conozco el problema me parece que que deberias considerar
> seriamente un cambio en el esquema.
>
> Saludos,
>
>
> Javier Loria
> Costa Rica (MVP)
> Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
> que pueda ser copiado y pegado al Query Analizer.
> La version de SQL y Service Pack tambien ayuda.
>
>
> "Fredy Cabré" wrote in message
> news:
> > Necesitaria tener una vista que me agrupe dos tablas mediante una


UNION
> pero
> > no me deja coger mas que dos campos.
> > Resulta que tengo dos tablas que guardan el mismo tipo de campos, pero
> > necesito sumarlos y agruparlos y no se como hacerlo.
> > La primera tabla es la de 'Partes' donde guardo el departamento que
> > realizara las tareas, después resultó que en un mismo parte se podian
> > realizar tareas de más de un departamento con lo que tuve que crear la
> tabla
> > de 'DepartamentosParte' para guardar todos los departamentos de cada
> parte.
> > Ahora resulta que he de hacer un informe desglosado por departamentos


de
> > todos los partes.
> > Me podeis ayudar??
> >
> > Gracias
> >
> >
> >
> >
>
>


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