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

Buscar datos en varias tablas...

Estas en el tema de Buscar datos en varias tablas... en el foro de Bases de Datos General en Foros del Web. Saludos... No sé de qué manera podría crear una consulta que busque un registro con dos condiciones (WHERE campo1 = 'pepe' AND campo2 = ''velez') ...
  #1 (permalink)  
Antiguo 11/02/2009, 09:22
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Buscar datos en varias tablas...

Saludos...

No sé de qué manera podría crear una consulta que busque un registro con dos condiciones (WHERE campo1 = 'pepe' AND campo2 = ''velez') pero en toda una base de datos que puede contener hasta cien tablas...

Me explico... Una base de datos llamada DB_colegios tiene unas cien tablas que contienen la misma estructura (nombres de campo, tupos de campo, etc).

El nombre de un estudiante puede estar en varias tablas pero siempre en los mismos campos (campo1 y campo2 --> nombre y apellido respectivamente). La idea es verificar cuantas veces está ese estudiante en toda la base de datos y no solo en una tabla específica.

Gracias por vuestra ayuda.
__________________
Andrew :P
  #2 (permalink)  
Antiguo 11/02/2009, 12:50
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
Respuesta: Buscar datos en varias tablas...

Me aconsejaron usar UNION en la consulta :

Select ....where...
union
select ...where...
union
select ...where...

aunque la verdad no la pude probar todavia, prueba si te funciona!!
  #3 (permalink)  
Antiguo 11/02/2009, 14:00
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Buscar datos en varias tablas...

How to search all columns of all tables in a database for a keyword?

No seamos flojos y busquemos en google, y tambien aprendamos un poco de ingles.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #4 (permalink)  
Antiguo 11/02/2009, 14:34
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: Buscar datos en varias tablas...

flaviovich:

Thank you by your reply. However information you have posted isn't for MySQL as I've mentioned in my post. The usual information you've suggested is about SQL as you can read in the comments.

And you're right but it isn't laziness!... In english it's possible find more information like spanish. Unfortunately I haven't success with my search and for that reason I'm posting here.
__________________
Andrew :P
  #5 (permalink)  
Antiguo 11/02/2009, 15:36
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Buscar datos en varias tablas...

First, you never tolk about MySQL, so my dear friend make your post in MySQL.
Second, you to read some information about googling.
Good luck!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #6 (permalink)  
Antiguo 11/02/2009, 16:19
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: Buscar datos en varias tablas...

Pues después de darle vueltas al tema finalmente he sacado una query que no creo que vaya mal encaminada:

Código PHP:
//Listo todas las tablas de la base de datos:
$sql "SHOW TABLES FROM $miBBDD";
$result mysql_query ($sql);
while (
$row mysql_fetch_row ($result)) 
{

// ejecuto la consulta a todas las tablas sin ninguna discriminación
// más que la del nombre 'pepe' en el campo [I]student[/I]
$query  "SELECT * FROM " .$row[0] . " WHERE student = 'pepe'";
$resultquery mysql_query ($query) or die ('Query failed: ' mysql_error());
$num mysql_num_rows($resultquery);

// Imprimo el resultado
echo 'Pepe esta subscrito a' .$num'materias'
Pero el resultado de la impresión es:

Código HTML:
Pepe esta subscrito a 1 materias
Pepe esta subscrito a 0 materias
Pepe esta subscrito a 4 materias
Pepe esta subscrito a 0 materias
Pepe esta subscrito a 2 materias
Es decir, me lista las veces que 'pepe' se encuentra en cada tabla y no me las suma... He intentado con el COUNT(*) en la consulta pero no doy con el resultado.

Agradecería vuestra ayuda para conseguir sumar esos resultados.

Saludos!
__________________
Andrew :P
  #7 (permalink)  
Antiguo 11/02/2009, 16:41
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Buscar datos en varias tablas...

Por que no usas $num = $num + 1
Y el echo lo pones fuera del while.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #8 (permalink)  
Antiguo 11/02/2009, 16:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Buscar datos en varias tablas...

Hola andrewp,

Por favor lee esto: http://www.forosdelweb.com/f21/funci...-datos-413499/

Abstente de poner código de programación en la seccion de bases de datos.

Saludos
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 10:57.