18/12/2010, 00:34
|
| | | Fecha de Ingreso: diciembre-2010
Mensajes: 2
Antigüedad: 14 años Puntos: 0 | |
Unir valores dependiendo de ciertos campos repetidos de diferentes tablas Hola que tal, tendrán alguna idea o sabran sobre algun algoritmo de como se podria realizar la siguiente consulta:
tengo 4 tablas, en cada una de ellas existe un campo que su VALOR coindice entre las 4 ya que HACE QUE SE RELACIONEN LOS DATOS (c_id), lo que se requiere es sacar y unir en una fila los datos de varios campos solo si el campo (c_id) coincide con la tabla principal, pero resulta que el VALOR de c_id puede estar repetido en la tabla 2, y en la tabla 3 de igual manera lo podemos encontrar repetido asi como en la tabla4, donde no se repite es en la tabla principal t1p
t1p t2 t3 t4
c_id c_id c_id c_id
campo1 campe1 campi1 campu1
campo2 campe2 campi2 campu2
Ahora si en las tablas t2.c_id,t3.c_id,t4.c_id coincide con t1p.c_id (que es la principal) entonces que traiga los valores de sus campos de cada una de esas tablas.
Lo interesante viene como ya mencione cuando encuentra nuevamente un valor repetido en c_id en t2,t3 o t4 pero LOS VALORES DE SUS CAMPOS SON DIFERENTES y es necesario sacar esos campos tambien pero SIN REPETIR TODA LA FILA, si me explico????
Ya intente lo siguiente:
SELECT t1p.campo1, t1p.campo2, t2.campe1, t2.campe2, t3.campi1, t3.campi2, t4.campu1, t4.campu2 FROM tabla1 AS t1p LEFT JOIN(tabla2 AS t2) ON (t1p.c_id=t2.c_id) LEFT JOIN(tabla3 AS t3) ON (t1p.c_id=t3.c_id) LEFT JOIN(tabla4 AS t4) ON (t1p.c_id=t4.c_id) \G;
Entonces suponiendo que en la tabla2 esta repetido 2 veces el c_id con el valor 7 que coincide con el c_id=7 de la tabla t1p pero en campe1 y campe2 tienen diferente valor en ambos casos por lo que me regresa 2 filas Y LO QUE SE REQUIERE ES QUE CAMPE1 Y CAMPE2 SE ANEXEN A LA PRIMER FILA Y QUE NO SE GENERE UNA SEGUNDA.
Si se entiende??? la verdad es que estoy iniciando en esto del manejo de bd´s y es la primera vez que empiezo a lidiar con esto he estado buscando viendo algunos ejemplos con el join y union de mysql pero la verdad nada me ha resuelto.
Espero pueda encontrar alguna ayuda por aqui.
Saludos!!!!! |