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

Dependientes

Estas en el tema de Dependientes en el foro de Bases de Datos General en Foros del Web. Buenas; Tengo dos tablas en una DB: USUARIOS y DEPORTES En la 1ª están los valores "Nombre", "Apellidos" y "DNI"; En la 2ª estan los ...
  #1 (permalink)  
Antiguo 08/01/2003, 10:13
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 10 meses
Puntos: 0
Dependientes

Buenas;

Tengo dos tablas en una DB: USUARIOS y DEPORTES
En la 1ª están los valores "Nombre", "Apellidos" y "DNI";
En la 2ª estan los valores "DEPORTE" y "DNI";

Lo que busco es la instrucción para que en una tabla de la página me escriba el valor NOMBRE y APELLIDOS de aquellos usuarios cuyo DNI esté escrito en la tabla DEPORTES.

Dicho de otro modo:

Hago un "SELECT DNI FROM DEPORTES WHERE DEPORTE = $tenis"

Luego un "while..." para que me escriba todos los valores encontrados, y que tomando los DNI aparecidos, me escriba los correspondientes NOMBRES Y APELLIDOS de la TABLA USUARIOS.

¿Alguien sabe como hacerlo?

Muchas gracias de antemano
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #2 (permalink)  
Antiguo 08/01/2003, 10:19
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 4 meses
Puntos: 1
Que no es esto?

"SELECT DNI FROM DEPORTES, USUARIOS WHERE DEPORTES.DEPORTE = $tenis AND DEPORTES.DNI=USUARIOS.DNI"

Saludos
  #3 (permalink)  
Antiguo 08/01/2003, 10:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Indica que menejador (o motor) de Base de datos estas usando para lanzar esa consulta (query) .. Suponemos que Mysql? ..

Aclaralo ..

Muevo el mensaje al foro Base de datos .. Creo q es lo mas acertado pues tu duda es extrictamente de SQL.

Un saludo,
  #4 (permalink)  
Antiguo 08/01/2003, 10:33
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 10 meses
Puntos: 0
No es eso lo que busco, la instrucción sería algo así:

"Escribeme el usuario.nombre que tenga el mismo usuario.DNI que deportes.DNI"

Sé que es algo tonto, pero es que andoalgo bloquedo esta tarde.

Gracias
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #5 (permalink)  
Antiguo 08/01/2003, 10:39
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 4 meses
Puntos: 1
"SELECT DNI FROM DEPORTES, USUARIOS WHERE DEPORTES.DNI=USUARIOS.DNI"
  #6 (permalink)  
Antiguo 08/01/2003, 13:32
Avatar de Sarai  
Fecha de Ingreso: enero-2003
Ubicación: Alli donde Dios ha coloca
Mensajes: 91
Antigüedad: 21 años, 3 meses
Puntos: 0
Este SQL te puede ayudar

Hola, al igual que Cluster opino que deberías especificar que manejador estas usando. en el caso de que sea MySQL este SQL te puede servir lo he probado.
SELECT deportes.dni, Usuario.nombre, Usuario.apellido, deportes.deporte FROM deportes INNER JOIN Usuario ON deportes.dni = Usuario.dni;
__________________
*** La ciencia lo es ÉL ***
  #7 (permalink)  
Antiguo 08/01/2003, 16:41
Avatar de BVis  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 104
Antigüedad: 21 años, 5 meses
Puntos: 0
Te recomiendo que aprendas SQL, pues eso es algo muy básico, y si vas a trabajar con bases de datos conviene que lo domines.

Hay un manual en: http://usuarios.lycos.es/manualesvarios

Pero con poner: "manual SQL" en el google, te aparecerán...

1 Saludo.
__________________
"Yo opino lo mismo que BVis, el de 'forosdelweb' " - Bill Gates
  #8 (permalink)  
Antiguo 09/01/2003, 05:04
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 10 meses
Puntos: 0
Concreto:

En la tabla deportes tengo cuatro campos:

DNI_DEPORTISTA_A
DNI_DEPORTISTA_B
DNI_DEPORTISTA_C
DNI_DEPORTISTA_D

mientras que en la de usuarios tengo DNI_USUARIOS.

¿Se puede usuar el INNER JOIN para unir nombres de tabla distintos?

Así todo pongo un ejemplo para concretarles mejor:

Tengo un formulario en la que el usuario debe escribir los DNI de los 4 deportistas con los que participó en un partido de dobles (de ahí 4). Por ello tengo cuatro campos en el formulario:
DNI_DEPORTISTA_A
DNI_DEPORTISTA_B
DNI_DEPORTISTA_C
DNI_DEPORTISTA_D
Entonces el usuario manda dicho formulario a otro que recoje los DNI insertados y lo que busco es que se comparen los DNI escritos por este, con los DNI de la tabla usuarios y me escriba los nombres y apellidos de los cuatro deportistas que coincidan con dichos DNI.

¿Voy por buen camino? ¿Basta con SQL, o debo insertar este mensaje en PHP?


Lo que tengo es: (RANKING = DEPORTE)

Código PHP:
SELECT RANKING.DNI_DEPORTISTA_A
RANKING.DNI_COMODIN_ARANKING.DNI_DEPORTISTA_B
RANKING.DNI_COMODIN_AUSUARIOS.NOMBRE
USUARIOS.APELLIDOSUSUARIOS.DNI FROM RANKINGUSUARIOS 
WHERE RANKING
.DNI_DEPORTISTA_A=USUARIOS.DNI AND 
RANKING.DNI_COMODIN_A=USUARIOS.DNI AND 
RANKING.DNI_DEPORTISTA_B=USUARIOS.DNI AND 
RANKING.DNI_COMODIN_B=USUARIOS.DNI
Pero no funciona, dándome error en la consulta.

PD:Uso MySQL, disculpen por no haberlo dicho.

GRACIAS
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.

Última edición por ferent; 09/01/2003 a las 05:16
  #9 (permalink)  
Antiguo 09/01/2003, 06:16
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 10 meses
Puntos: 0
¡¡¡Lo conseguí!!!

Al final opté por hacer un select para cada tipo de DNI y ya está.

Gracias a todos
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
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:07.