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

Hacer búsqueda en dos tablas unidas.

Estas en el tema de Hacer búsqueda en dos tablas unidas. en el foro de Bases de Datos General en Foros del Web. Hola. Tengo dos tablas. paises Usuario Pais Ciudad Hugo España Madrid Paco España Córdoba Luis Argentina Buenos Aires datos Usuario Edad Sexo Hugo 20 M ...
  #1 (permalink)  
Antiguo 07/10/2015, 15:27
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 8 meses
Puntos: 1826
Hacer búsqueda en dos tablas unidas.

Hola. Tengo dos tablas.

paises
Usuario Pais Ciudad
Hugo España Madrid
Paco España Córdoba
Luis Argentina Buenos Aires


datos
Usuario Edad Sexo
Hugo 20 M
Paco 22 M
Luis 19 M

Donde quiero hacer una consulta que cumpla un requisito de una y otro de otra, unidos por el usuario:

Código MySQL:
Ver original
  1. SELECT * FROM paises,datos
  2. WHERE    paises.pais = 'España'
  3. AND datos.edad > 20

¿Dónde pongo el INNER JOIN (Y cómo lo póngo)?

Así como lo tengo me salen los registros repetidos, obviamente por que son dos búsquedas en dos tablas.

Última edición por gnzsoloyo; 07/10/2015 a las 16:44
  #2 (permalink)  
Antiguo 07/10/2015, 15:38
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Hacer búsqueda en dos tablas unidas.

Código SQL:
Ver original
  1. SELECT * FROM paises AS t1
  2. INNER JOIN datos AS t2 ON (t1.usuario=t2.usuario)
  3. WHERE t2.edad>20 AND t1.pais='españa'
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 07/10/2015, 15:40
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 8 meses
Puntos: 1826
Respuesta: Hacer búsqueda en dos tablas unidas.

Oooohhhh.

¿Una duda ahí, porqué hay que hacer un alias?
  #4 (permalink)  
Antiguo 07/10/2015, 15:44
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Hacer búsqueda en dos tablas unidas.

para evitar la fatiga ;), digo para no poner todo el nombre de la tabla cuando haces la union

Código SQL:
Ver original
  1. SELECT * FROM tabla1
  2. INNER JOIN tabla2 ON (tabla1.id=tabla2.id)
queda mejor con el alias ;)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 07/10/2015, 15:56
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 8 meses
Puntos: 1826
Respuesta: Hacer búsqueda en dos tablas unidas.

Oh. Gracias.

Etiquetas: registro, select, sql, tabla, tablas
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:32.