Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

como hacer un query con 4 tablas.

Estas en el tema de como hacer un query con 4 tablas. en el foro de Mysql en Foros del Web. Hola a todos les explico como es que tengo mis tablas. caso--------analista----programador----diseñador id-----------id-------------id-----------------id nombre ---idcaso-------idcaso-----------idcaso fecha ahora supongamos que en la tabla de caso tengo ...
  #1 (permalink)  
Antiguo 06/07/2009, 11:23
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 15 años, 9 meses
Puntos: 0
como hacer un query con 4 tablas.

Hola a todos les explico como es que tengo mis tablas.

caso--------analista----programador----diseñador
id-----------id-------------id-----------------id
nombre ---idcaso-------idcaso-----------idcaso
fecha

ahora supongamos que en la tabla de caso tengo el id 1,2,5
en la tabla analistas tengo en el campo de id caso a
3 registros con el valor 1, a 4 con el 2, y a 1 con el 5.
en la tabla de progrmador tengo a:
1reg con 1, 2 con el 2, y 3 con el 5.
en la tabla de diselñador a:
4reg con el 1, 2 con el 2 y 3 con el 5

y el problema es como puedo hacer un query que me de como resultado
id--nombre---fecha---analistat--programadort--deseñadort
1 nombre1-fecha1---3--------------1-----------------4
2 nombre2-fecha2---4--------------2-----------------2
5 nombre3-fecha3---1--------------3-----------------3

alguien me puede ayudar. porfavor, gracias
  #2 (permalink)  
Antiguo 06/07/2009, 13:47
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: como hacer un query con 4 tablas.

Estoy suponiendo que todas se entrelazan con idcaso. Si es asi entonces el query debe ser


Código:
SELECT 
  * 
FROM 
  caso c, 
  analista a, 
  programador p, 
  diseñador d 
WHERE 
  c.id = a.idcaso 
  AND c.id = p.idcaso 
  AND c.id = d.idcaso
y cuando los llames

c.id, c.nombre, c.fecha, a.id, p.id, d.id
  #3 (permalink)  
Antiguo 06/07/2009, 16:14
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: como hacer un query con 4 tablas.

1 nombre1-fecha1---3--------------1-----------------4
2 nombre2-fecha2---4--------------2-----------------2
5 nombre3-fecha3---1--------------3-----------------3

intente hacer la consulta con el siguiente query
Código PHP:
select distinct(caso.id), caso.fechacaso.prioridad
count(analistas.idcaso)analistas,
count(disenadores.idcaso)disenadores
from caso 
inner join analistas   on analistas
.idcaso=caso.id 
inner join disenadores on caso
.id=disenadores.idcaso
GROUP BY caso
.id 
 ORDER BY caso
.id 
pero el resultado en la tabla de salda no es el deseado por que
1 nombre1-fecha1---3--------------3
2 nombre2-fecha2---8--------------8
5 nombre3-fecha3---3--------------3

ya revisando bien el sesultado es la multiplicaion de los campos en dos tablas diferentes es decir cuando hago el count de una tbla se suma con el valor del segundo conunt..

no se a qeu se debe pero tu resultano no me sirvio ..

cuando lo intento hacer con un solo campo el count lo hago de la siguiente manera y si me sale....pero con sos se multiplican los valores de las tablas....

select distinct(caso.id), caso.fecha, caso.prioridad,
count(analistas.idcaso)analistas
from caso
inner join analistas on analistas.idcaso=caso.id
GROUP BY caso.id
ORDER BY caso.id

Última edición por asassa; 06/07/2009 a las 16:22
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:26.