Foros del Web » Programando para Internet » PHP »

consulta doble sql con array por medio

Estas en el tema de consulta doble sql con array por medio en el foro de PHP en Foros del Web. A ver si podéis ayudarme a hacer una consulta sql porque me estoy haciendo un lío: Tengo dos tablas, una de artículos, uno de cuyos ...
  #1 (permalink)  
Antiguo 25/10/2007, 05:56
Avatar de mrgubu  
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 22 años, 2 meses
Puntos: 2
consulta doble sql con array por medio

A ver si podéis ayudarme a hacer una consulta sql porque me estoy haciendo un lío:

Tengo dos tablas, una de artículos, uno de cuyos campos es idautor, que puede ser un array tipo 1,4,7,11.
La otra tabla es de autores, cada uno con su id.
Lógicamente el campo idautor de la tabla artículos se corresponde con las id de la tabla autores.

Lo que pretendo es hacer una consulta en el que introduciendo el nombre de un autor el sql me devuelva las filas de la tabla artículos en las que el campo idautor se corresponda con la id del autor en cuestión.

Así pues, empiezo haciendo una consulta $sqlprevia en la tabla autores:

Código PHP:
$sqlprevia "SELECT * FROM autores WHERE nombre LIKE '%$search%' OR apelli1 LIKE '%$search%' OR apelli2 LIKE '%$search%' "
Esto me devuelve las filas de la tabla autores que contengan el nombre buscado.

Con el resultado obtenido, tengo que hacer una nueva consulta sql para obtener las filas de la tabla artículos en las que la id de la tabla autores esté contenida en el campo idautor. Y esto es lo que no consigo hacer .

Por favor, una ayudita.
  #2 (permalink)  
Antiguo 25/10/2007, 06:37
 
Fecha de Ingreso: octubre-2007
Ubicación: Madrid, España
Mensajes: 221
Antigüedad: 16 años, 6 meses
Puntos: 5
Re: consulta doble sql con array por medio

tengo 3 opciones:

solo los campos de la tabla articulos:

SELECT articulos.* FROM articulos JOIN autores ON articulos.autor=autores.id WHERE autores.nombre LIKE '%$search%' OR autores.apelli1 LIKE '%$search%' OR autores.apelli2 LIKE '%$search%'

los campos de las dos tablas unidos como si fueran una sola:

SELECT articulos.*, autores.* FROM articulos JOIN autores ON articulos.autor=autores.id WHERE autores.nombre LIKE '%$search%' OR autores.apelli1 LIKE '%$search%' OR autores.apelli2 LIKE '%$search%'

los campos de los artículos con el nombre del autor completo

SELECT articulos.*, CONCAT(autores.nombre,' ',autores.apelli1,' ',autores.apelli2) AS nombre FROM articulos JOIN autores ON articulos.autor=autores.id WHERE autores.nombre LIKE '%rev%' OR autores.apelli1 LIKE '%rev%' OR autores.apelli2 LIKE '%rev%'

espero que te ayude
  #3 (permalink)  
Antiguo 26/10/2007, 04:17
Avatar de mrgubu  
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 22 años, 2 meses
Puntos: 2
Re: consulta doble sql con array por medio

estupendo dualklip, eres un crack, gracias por tu ayuda, va fenomenal
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 09:21.