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

Problema para busqueda

Estas en el tema de Problema para busqueda en el foro de Mysql en Foros del Web. Tengo las siguientes tablas en mi base de datos: la primera se llama i_libros y tiene datos como los que siguen: Código: id autor título ...
  #1 (permalink)  
Antiguo 01/04/2009, 10:49
 
Fecha de Ingreso: marzo-2009
Mensajes: 5
Antigüedad: 15 años, 1 mes
Puntos: 0
Problema para busqueda

Tengo las siguientes tablas en mi base de datos:

la primera se llama i_libros y tiene datos como los que siguen:

Código:
id       autor      título      .....
0        1           El quijote de la....
1        1           Novelas ejemplares
2        2           No te laves las manos...
3        2           El libro rojo de...
y luego otra tabla llamada i_autores con los siguientes datos:

Código:
id       nombre    apellidos 
1        Miguel de Cervantes Saavedra
2        Andreu    Martin
la pregunta es la siguiente: ¿Cómo hago para hacer una consulta que me devuelva todos los libros que ha escrito cervantes por ejemplo? Hasta ahora lo mas que he conseguido es que haga una consulta en la que me sale los cuatro libros con el autor miguel de cervantes. La consulta es la siguiente:
Código:
SELECT * FROM `i_libros` ,`i_autores` WHERE `apellidos` LIKE "%Cervantes Saavedra%"
Gracias

Última edición por spienbest; 01/04/2009 a las 10:56
  #2 (permalink)  
Antiguo 01/04/2009, 11:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema para busqueda

Sólo tienes que hacer un filtro por el campo autor, por ejemplo:
Código MySQL:
Ver original
  1. SELECT * FROM i_libros WHERE autor = 1;
Devolverá todos los libros escritos por Cervantes.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 01/04/2009, 11:20
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Problema para busqueda

Complementando a lo que dijo David

Creo que seria mejor unir las tablas
Código sql:
Ver original
  1. SELECT * FROM i_autores AS t1 JOIN i_libros AS t2 ON t1.id = t2.autor WHERE t2.autor = 1;

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #4 (permalink)  
Antiguo 01/04/2009, 11:22
 
Fecha de Ingreso: marzo-2009
Mensajes: 5
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema para busqueda

Muchas gracias, me habéis ayudado mucho. un saludo
  #5 (permalink)  
Antiguo 01/04/2009, 11:37
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Problema para busqueda

de nada
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
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:09.