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

Una más de Join y 4 tablas

Estas en el tema de Una más de Join y 4 tablas en el foro de Mysql en Foros del Web. Tengo que relacionar 4 tablas que tienen lo siguiente: downloads_files id category_id name description_small agreement_id downloads_agreements id name contents downloads_customfields id label downloads_customfields_data id field_id ...
  #1 (permalink)  
Antiguo 12/10/2006, 02:14
Avatar de cauly  
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires
Mensajes: 726
Antigüedad: 22 años, 2 meses
Puntos: 0
Una más de Join y 4 tablas

Tengo que relacionar 4 tablas que tienen lo siguiente:

downloads_files
id
category_id
name
description_small
agreement_id

downloads_agreements
id
name
contents

downloads_customfields
id
label

downloads_customfields_data
id
field_id
file_id
value

Lo que tengo que hacer es mostrar cada elemento de downloads_files con un while y agregar el valor correspondiente al id de downloads_file de las otras tablas.

Hice lo siguiente:

Código PHP:
$result mysql_query("
SELECT * FROM downloads_files
JOIN (downloads_agreements, downloads_customfields_data, downloads_customfields)
ON (downloads_fles.agreement_id = downloads_agreements.id
AND downloads_files.id = downloads_customfields_data.file_id
AND downloads_customfields_data.field_id = downloads_customfields.id)
order by downloads_files.name"
); 
Pero me tira un error
Código PHP:
Warningmysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:appservwwwmdbindex.php on line 138 
en la línea 138 tengo el while con el result de arriba
Código PHP:
while ($row mysql_fetch_array($result)) { 
en el result se muestra que es lo que quiero igualar.

Quiero mostrar cada dato (que son archivos para descargar) con su correspondiente dato de "downloads_customfields_data" y "downloads_agreement"; a su vez el "downloads_customfield_data" lo tengo que asociar al "downloads_customfield" porque en este último hay un dato que también tengo que mostrar.

Me anduve recorriendo google y el foro pero lo único que pude es asociar dos tablas
  #2 (permalink)  
Antiguo 12/10/2006, 11:52
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
Cita:
Iniciado por cauly Ver Mensaje
Pero me tira un error
Código PHP:
Warningmysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:appservwwwmdbindex.php on line 138 
en la línea 138 tengo el while con el result de arriba
Código PHP:
while ($row mysql_fetch_array($result)) { 
No tengo mucha experiencia en mysql para ayudarte con tu consulta, pero te puedo ayudar con el error: significa que no te puedes conectar a la bd, o que la sentencia sql no es correcta.

Revisa bien los nombres de los atributos y las tablas si es que estan mal escritos y asegurate de hacer hecho tu conexion con tu BD.

Ojala te sirva
  #3 (permalink)  
Antiguo 12/10/2006, 12:51
Avatar de cauly  
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires
Mensajes: 726
Antigüedad: 22 años, 2 meses
Puntos: 0
está mal la sentencia sql, pero no sé como hacerla, se coencta bien porque si cambio la sentencia y enlazo dos tablas anda bien
  #4 (permalink)  
Antiguo 12/10/2006, 14:31
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
buneo al menos ahora sabes que tus nombres y atributos estan bien escritos en tu consulta y tu conexion no tiene problemas. la manera correcta de hacer un join de este tipo quizas la puedas encontrar en ESTE ENLACE para uqe la busques si nadie te postea la sintaxis correcta
espero haber sido de ayuda
  #5 (permalink)  
Antiguo 12/10/2006, 14:40
Avatar de cauly  
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires
Mensajes: 726
Antigüedad: 22 años, 2 meses
Puntos: 0
muchas gracias, ahora lo veo
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 07:20.