Comunidad de diseño web y desarrollo en internet online

Relacionar tablas

Citar            
MensajeEscrito el 26 Feb 2011 03:13 am
A ver si puedo explicarlo sin enredarme.
Tengo la tabla A como inicio de la consulta. Con esta tabla, se van a relacionar por uno de los campos, otras tres tablas (B, C y D), que además deben relacionarse (estas tres solas), con la tabla E.

O sea que quedaria algo así (tabla A) <=(B,C,D) <=(E)

Lo que no sé hacer es relacionar la última con B, C y D, porque si repito el nombre de la tabla me da error y si hago comparaciones en el ON, también me da error. ¿Tengo que agrupar BCD y luego relacionar E con ese grupo?, ¿cómo lo podría hacer?

Pongo el código para que se vea un poco más claro cuál es la intención que tengo, pero obviamente no funciona.

Código :

SELECT * FROM tabla_A
LEFT JOIN tabla_B ON tabla_A.id=tabla_B.id 
LEFT JOIN tabla_C ON tabla_A.id= tabla_C.id 
LEFT JOIN tabla_D ON tabla_A.id=tabla_D.id 
LEFT JOIN tabla_E ON tabla_B.precio=tabla_E.precio
LEFT JOIN tabla_E ON tabla_C.precio=tabla_E.precio
LEFT JOIN tabla_E ON tabla_D.precio=tabla_E.precio


Muchas gracias !!!!

Por bigote

32 de clabLevel



 

Argentina

firefox
Citar            
MensajeEscrito el 26 Feb 2011 04:12 am

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

chrome
Citar            
MensajeEscrito el 26 Feb 2011 01:14 pm
Aunque no lo creas, fue lo primero que vi, cuando busqué en el foro, "relacionar multiples tablas" :)

El tutorial está clarísimo, pero fijate en el código de ejemplo que estoy poniendo y vas a ver que la relación con las tablas se viene dando tal como está en el tutorial (al menos veo eso), pero a mi entender debe cambiar cuando llega a la tabla E, porque esa tabla, se debe relacionar con B,C y D y allí es cuando aparece el problema, porque no puedo ponerla tres veces en la consulta (me da este error #1066 - Not unique table/alias: 'tabla_E' )

Supongo que debería agruparlas de alguna forma, ya sea con corchetes o haciendo una union .... no sé :(

Algo que estaba haciendo mal (siempre), era usar el asterisco en todas las tablas. Sabía que no debía hacerlo, pero no tenía en claro porqué y en el tutorial sos muy claro, así que de ahora en más lo tendré muy en cuenta.

Muchas gracias por tu ayuda.

Por bigote

32 de clabLevel



 

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.