Bichucho | |
| 2006-12-10 09:41 - Respuestas: 8 - Tema nº: 2427627
Buenas,
Quiero hacer una consulta que me relacione los mismos campos de 3 tablas.
+ Info: Tengo 3 tablas exactamente iguales (controla el despiece de una pieza x fases diferentes) mismos campos pero diferente información, pero en ocasiones puede que la misma info este en una tabla y en otra, o bien en las 3.
Mi intención es crear una consulta que al solicitar la ref. que quiero me salga la info de las 3 tablas.
Gracias | |
|
|
swissman | |
|
Re: Realizar una consulta de 3 tablas - 2006-12-10 10:16 - Respuesta 2
hola, la pregunta no la entiendo muy bien (tampoco es que sepa mucho de access, porque supongo que hablas de access...)
puedes poner un ejemplo de las tablas?
tabla1-campo1
tabla2-campo1
tabla3-campo1
es eso? en cualquier caso, no pongas los mismos nombres en cada uno de los campos, sinó, la consulta te generará un error por nombre repetido (es que ami me ha pasado)
saludos | |
|
|
ebolo | |
|
Re: Realizar una consulta de 3 tablas - 2006-12-10 11:05 - Respuesta 3
Hola bichucho, se puede hacer de varias formas, pero creo que las más correcta es una consula de unión porque no sabes dónde están los datos. Lo bueno que tienes es que todas las tablas tienen los mismos campos.
Para hacer la consulta de unión, creas una consulta nuevo y en la vista SQL, pones:
Code:
SELECT tabla1.campo1, tabla1.campo2, tabla1.campo3
FROM tabla1
WHERE tabla1.tucriterio
UNION SELECT tabla2.campo1, tabla2.campo2, tabla2.campo3
FROM tabla2
WHERE tabla2.tucriterio
UNION SELECT tabla3.campo1, tabla3.campo2, tabla3.campo3
FROM tabla3
WHERE tabla3.tucriterio
donde tucriterio es el campo de la tabla por la que restringes tus datos. Supongo que habrá un nº de despiece para saber a que despiece te refieres.
Si no te aclaras seguimos.
Un saludo.
| |
|
|
Bichucho | |
|
Re: Realizar una consulta de 3 tablas - 2006-12-10 15:35 - Respuesta 4
Buenas tardes Ebolo. Ante todo gracias. He puesto lo siguiente:
SELECT componentes.referencia de compra, componentes.componente, componentes.denominacion, componentes.cantidad, componentes.precio/und, componentes.total
FROM componentes
WHERE componentes.tabla total despiece
UNION SELECT grupos.referencia de compra, grupos.componente, grupos.denominacion, grupos.cantidad, grupos.precio/und, grupos.total
FROM grupos
WHERE grupos.tabla total despiece
UNION SELECT subconjuntos.referencia de compra, subconjuntos.componente, subconjunto.denominacion, subconjunto.cantidad, subconjunto.precio/und, subconjunto.total
FROM subconjuntos
WHERE subconjuntos.tabla total despiece;
Pero me da el siguiente error "Error de sintaxis (falta operador) en la expresion de consulta 'componentes.referencia de compra'.
¿Porque...? he confirmado que los datos estan bien escritos. | |
|
|
Bichucho | |
|
Re: Realizar una consulta de 3 tablas - 2006-12-10 16:10 - Respuesta 5
Hola de nuevo. Creo que estaba haciendo mal la formula. No obstante ahora he puesto:
SELECT componentes.referencia de compra, componentes.componente, componentes.denominacion, componentes.cantidad, componentes.precio/und, componentes.total
FROM componentes
WHERE componentes.referencia de compra
UNION SELECT grupos.referencia de compra, grupos.componente, grupos.denominacion, grupos.cantidad, grupos.precio/und, grupos.total
FROM grupos
WHERE grupos.referencia de compra
UNION SELECT subconjuntos.referencia de compra, subconjuntos.componente, subconjunto.denominacion, subconjunto.cantidad, subconjunto.precio/und, subconjunto.total
FROM subconjuntos
WHERE subconjuntos.referencia de compra
Y también me da el mismo error. Las 3 tablas van relacionadas con el campo de referencia de compra (es otra tabla maestra utilizada con un formulario y de ahi las otras 3 que son subformularios) no se si te ayudará esta info. | |
|
|
|