Ayuda con una consulta con tablas relacionadas mysql

Iniciado por mark182, 17 Noviembre 2009, 18:19 PM

0 Miembros y 1 Visitante están viendo este tema.

mark182

Buenas...como están?

Tengo dos tablas:

| alumnos |            | usuarios|
-------------            -------------
| id_alum | ------> |    id_us   |
| nombre |            |   usuario  |
| colegio  |            | password |
------------            ----------------

Ahora bien....el id_alum y id_us son siempre los mismos numeros. Hagan de cuenta que ya la persona ingreso us y pass, lo que quiero hacer es...sabiendo el us ingresado quiero saber que colegio le pertenece a ese usuario. Me explico?

Como lo puedo hacer?

Muchas gracias.

mark182

Cita de: mark182 en 17 Noviembre 2009, 18:19 PM


| alumnos |            | usuarios|
-------------            -------------
| id_alum | ------> |    id_us   |
| nombre |            |   usuario  |
| colegio  |            | password |
------------            ----------------


perdon la relacion va haci:


| alumnos |            | usuarios|
-------------            -------------
| id_alum | <------ |    id_us    |
| nombre |            |   usuario  |
| colegio  |            | password |
------------            ----------------

sempus

Puedes hacerlo asi, los datos que yo tomo son de mi punto de vista, puedes acomodarlo a tus necesidades

Código (sql) [Seleccionar]
SELECT colegio,nombre,usuario;
FROM alumnos ;
INNER JOIN usuarios  ON id_alum = id_us;
WHERE password = "la password que dices" and id_us="el que especifiques"


así tendrás, colegio, nombre y usuario si el id_alum coincide con id_us y si la password es la correcta respecto al id_us que tambien especifiques , nose si me di a entender ñ_ñ

salu2
...si la tuviera detendría el tiempo para verla como lo hago en este momento y seria feliz eternamente...
Descarga openSUSE

mark182

mmm...no me esta mostrando nada. yo lo puse haci porque nada mas necesito colegio.


$seleccion = mysql_query("SELECT colegio FROM alumnos INNER JOIN usuarios ON id_alum = id_us WHERE usuario= $_SESSION[usuario]");

echo $seleccion;



No me esta mostrando nada el echo. Que es lo que ocurre?

sempus

...si la tuviera detendría el tiempo para verla como lo hago en este momento y seria feliz eternamente...
Descarga openSUSE

mark182

Nose que pasa...no me muestra nada. Que puede ser? la variabale SESSION esta bien?

sempus

#6
INNER JOIN es posible que omita el dato, porque deben ser iguales, si uno es "01" y el otro es " 01" no son iguales, entonces lo omite, porque simplemente no lo encuentra,lo que me preguntas lo ignoro xD , eso ya no es sql  :-X y nose si es variable de sistema o algo asi xD,esperemos q alguien mas te ayude mejor q yo  :-[
...si la tuviera detendría el tiempo para verla como lo hago en este momento y seria feliz eternamente...
Descarga openSUSE

mark182

Cita de: sempus en 17 Noviembre 2009, 19:40 PM
INNER JOIN es posible que omita el dato, porque deben ser iguales, si uno es "01" y el otro es " 01" no soy iguales, entonces lo omite

Si, los dos son 01...decis que lo esta omitiendo por tener el mismo valor? entonces que es lo que debo hacer?

sempus

no, Inner Joint devuelve los datos SI ambos SON iguales, creo que antes me había expresado mal xD perdon.

descarta que sea la SESSION , has la consulta para mostrarlos todos


Código (sql) [Seleccionar]

SELECT colegio FROM alumnos INNER JOIN usuarios ON id_alum = id_us


aca como no filtramos nada, deberias ver todos los colegios, sino ves nada entonces algo pasa con los campos id_alum y id_us
...si la tuviera detendría el tiempo para verla como lo hago en este momento y seria feliz eternamente...
Descarga openSUSE

mark182

Sip parece que algo pasa con los ids porque sigue sin mostrarme nada  :-\