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

no me funciona el inner join!!

Estas en el tema de no me funciona el inner join!! en el foro de Bases de Datos General en Foros del Web. no me funciona el inner join!! las tablas son las sgtes con un campo tablas: Divisiones,(DIVISION_ID,otros...) secciones(DIVISION_ID,SECCION_ID, otros...) cargos(DIVISION_ID,SECCION_ID,CARGO_ID, otros...) quiero mostrar las tres tablas ...
  #1 (permalink)  
Antiguo 10/02/2003, 21:02
 
Fecha de Ingreso: enero-2003
Ubicación: Santiago
Mensajes: 301
Antigüedad: 21 años, 3 meses
Puntos: 1
no me funciona el inner join!!

no me funciona el inner join!!
las tablas son las sgtes con un campo
tablas:
Divisiones,(DIVISION_ID,otros...)
secciones(DIVISION_ID,SECCION_ID, otros...)
cargos(DIVISION_ID,SECCION_ID,CARGO_ID, otros...)

quiero mostrar las tres tablas con la clausula Inner join


<body>
<table border=1>
<tr><td>DIVISIÓN_ID:
</td><td>DIVISIÓN_NOMBRE:
</td><td>SECCIÓN_ID:
</td><td>SECCIÓN_NOMBRE :
</td><td>CARGO_ID :
</td><td>CARGO_NOMBRE :
</td><td>CARGO_FECHA_ENTRADA :
</td></tr>
Código PHP:

<?php
include("conex.php");
$link=conexion();
$result=mysql_query("select * from DIVISIONES INNER JOIN (SECCIONES INNER JOIN CARGOS ON SECCIONES.SECCION_ID = CARGOS.SECCION_ID)ON SECCIONES.DIVISION.ID=DIVISIONES.DIVISION_ID",$link);

while(
$row=mysql_fetch_array($result)){
echo
"<tr><td ALIGN=CENTER>$row[DIVISION_ID]</td><td>$row[DIVISION_NOMBRE]</td><td ALIGN=CENTER>$...BLA..BLA}

mysql_free_result($result);


?>
</table>
</body>

sin embargo el error es:

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\estudiophp\test\listar_datos2.php on line 23
alguna sugerencia..gracias
__________________
Cristian...
  #2 (permalink)  
Antiguo 10/02/2003, 22:56
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
No se si está particularmente mal como lo estás haciendo.
Yo personalmente lo hago diferente y me funciona siempre :

SELECT * FROM DIVISIONES INNER JOIN SECCIONES USING (DIVISION_ID) INNER JOIN CARGOS ON CARGOS.SECCION_ID=SECCIONES.SECCION_ID

La primera vez utilize USING porque es como obvio que el join se hace entre DIVISIONES Y SECCIONES, pero la segunda vez utilizé ON porque no se si la base se dará cuenta que lo queires hacer entre CARGOS Y SECCIONES. Es por eso que preferí indicarlo expresamente.

Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #3 (permalink)  
Antiguo 12/02/2003, 23:02
 
Fecha de Ingreso: enero-2003
Ubicación: Santiago
Mensajes: 301
Antigüedad: 21 años, 3 meses
Puntos: 1
no hay como....

hola webstudio, hice lo que me sugeristes pero me funciona, tengo un problma de sintaxis, put.... pero no se donde esta el error...

yo puedo hacer un inner join con dos tablas y asi poder unirlas ...pero con tres no hay forma compadre...
__________________
Cristian...
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 15:21.