Código PHP:
mysql_query("SELECT * FROM nota WHERE `set` = 'sajaxb2' AND `Disponible` = 'si' ORDER BY `order` ASC")
| |||
Consulta multiple a db Tengo una base de datos la cual tiene varias tablas y en concreto quiero efectuar una consulta a dos de ellas a la misma vez para llamar a una utilizo: Código PHP: |
| |||
La solución más sencilla si no necesitas saber de que tabla es cada fila del resultado sería usar UNION para unir dos consultas sql:
Código:
$sql_1 = "SELECT * FROM clientes_locales WHERE nombre = 'Pepe'"; $sql_2 = "SELECT * FROM clientes_extranjeros WHERE nombre = 'Pepe'"; $sql = $sql_1." UNION ".$sql_2; // la consulta $sql devolvera las filas o tuplas de las tablas clientes_locales y clientes_extranjeros donde el nombre sea Pepe Espero te sirva. Saludos. |
| |||
Algo falta o esta mal ... tengo Código PHP: tambien pasa lo mismo si hago... Código PHP: |
| ||||
Y si nos muestras que error es el que genera mysql exactamente. Has tu consulta de esta forma: Código PHP: |
| |||
Aclarando... A ver si puedo aclarar el panorama, tengo lo siguiente... una base de datos llamada "noticiero" con varias tablas entre ellas la llamada "nota" y otra llamada "varios" son iguales a no ser por un campo !!! la estructura es la siguiente: tabla nota ---------- id Nombre_nota Responsable Camara Fecha_Make Entradilla Scrip TEXTOS Pie Fecha_EDIT Fecha_Air Soporte Comienza Termina Dura Video_Audio Estado Editor Edicion Disponible set item order presenta la tabla "varios" es igual pero con un campo mas llamado "color" el problema es el siguiente... necesito hacer una consulta a la base de datos de las dos tablas a la vez para luego hacer via ajax un update, ese no es el problema, pero les muestro como lo hago !!!! Código PHP: Código PHP: BUAAAAAAA !!!!!! Lo que quiero que me consulte y muestre es lo siguiente "TODOS LOS REGISTROS DE LAS DOS TABLAS DONDE LOS CAMPOS "set" DE AMBAS SEAN = "sajaxb2" Y LOS CAMPOS DISPONIBLES DE AMBAS = a "si" ORDENADAS POR el CAMPO "order" QUE EN AMBAS TIENEN NUMEROS QUE NO SE REPITEN !!! POR LO QUE ASUME EN PRINCIPIO NO HABRIA PROBLEMA !!!! Lo que he usado para esta consulta es todas las siguientes opciones probando de a una y ninguna de ellas me devolvio el resultado deseado !!!! Código PHP: $numero = 1; while($rw = mysql_fetch_array($r)) {... .... $numero ++; } los errores que he tenido fueron desde no mostrar nada a mostrarme resultados duplicados, triplicados, etc... Espero que me puedan ayudar a encontrar un "FILTRO" para dicha consulta a la db Desde ya ENORMEMENTE AGRADECIDO por su ayuda !!! |
| |||
Alguna idea? |
| |||
entre los errors esto es lo que pasa... con la consulta $r = mysql_query("SELECT * FROM nota, varios WHERE nota.set = 'sajaxb2' AND nota.Disponible = 'si' AND nota.set = varios.set ORDER BY nota.order ASC") or die( mysql_error() ) ; me devuelve SOLO los record de la tabla varios, REPETIDOS seis veces !!! con $r = mysql_query("SELECT * FROM nota, varios WHERE nota.set = 'sajaxb2' AND nota.Disponible = 'si' AND nota.set = varios.set AND nota.Disponible = varios Disponible ORDER BY `order` ASC"); me dice "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\t8\guion1024-bloque2.php on line 319" con $sql_1 = "SELECT * FROM nota WHERE `set` = 'sajaxb2' AND `Disponible` = 'si' ORDER BY `order` ASC"; $sql_2 = "SELECT * FROM varios WHERE `set` = 'sajaxb1' AND `Disponible` = 'si' ORDER BY `order` ASC"; $r = $sql_1. " UNION ".$sql_2 ; me dice "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\t8\guion1024-bloque2.php on line 319 " ovbiamente en todos los casos haciendo referencia a la linea de code en donde se hace la llamada a la db Estare eternamente agradecido si alguien me puede aclarar un poco el tema ... |
| |||
a alguien le paso lo mismo, tienen alguna idea de como solucionarlo o explicacion ? |