Foros del Web » Programando para Internet » PHP »

Cómo unir 2 consultas?

Estas en el tema de Cómo unir 2 consultas? en el foro de PHP en Foros del Web. Tengo que hacer 2 consultas para poder mostrar información en una tabla, pero no sé como unirlas y que funcione, porque lo que he intentado ...
  #1 (permalink)  
Antiguo 04/08/2009, 13:20
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 15 años, 4 meses
Puntos: 13
Cómo unir 2 consultas?

Tengo que hacer 2 consultas para poder mostrar información en una tabla, pero no sé como unirlas y que funcione, porque lo que he intentado no me funciona.

la consulta principal que tengo es:

Código PHP:
$consul "SELECT * FROM valorreal
        INNER JOIN valoracumulado ON valorreal.categorias = valoracumulado.categorias
        AND valorreal.ano = valoracumulado.ano
        AND valorreal.mes = valoracumulado.mes
        AND valorreal.tipo = valoracumulado.tipo
        WHERE valorreal.ano='$anio' AND valorreal.mes='$mess' AND valorreal.tipo='asdf'"
;
        
$resul mysql_query ($consul) or die ("Error en consulta:".mysql_error());
        
        while (
$filas mysql_fetch_array($resul)) { 

y tengo que agregarle esta:

Código PHP:
SELECT FROM categorias WHERE nombre='asdf' 

desde ya muchas gracias!
  #2 (permalink)  
Antiguo 04/08/2009, 13:43
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 16 años, 2 meses
Puntos: 31
Respuesta: Cómo unir 2 consultas?

Hola, usa UNION para unir 2 tablas

como por ejemplo si quieres hacer una búsqueda en 2,3,4 tablas. seria algo así

Código PHP:
//---a        
$variable 'Palabra a buscar';
//---        
$sql "SELECT * FROM tabla "."WHERE id LIKE '%".$variable."%'".
"OR Nombre LIKE '%".$variable."%'"." OR Apellido LIKE '%".$variable."%'"."UNION 
        SELECT * FROM tabla_2 "
."WHERE id LIKE '%".$variable."%'".
"OR titulo LIKE '%".$variable."%'"."OR comentario LIKE '%".$variable."%'"."ORDER BY id";
//---z 
__________________
╬-----╬
║☺₧☻║
╬-----╬

Última edición por thezzin; 04/08/2009 a las 13:56
  #3 (permalink)  
Antiguo 04/08/2009, 14:03
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 15 años, 4 meses
Puntos: 13
Respuesta: Cómo unir 2 consultas?

si lo intente con UNION, pero no me funciono.
el codigo seria:

Código PHP:
$consul "(SELECT * FROM valorreal
        INNER JOIN valoracumulado ON valorreal.categorias = valoracumulado.categorias
        AND valorreal.ano = valoracumulado.ano
        AND valorreal.mes = valoracumulado.mes
        AND valorreal.tipo = valoracumulado.tipo
        WHERE valorreal.ano='$anio' AND valorreal.mes='$mess' AND valorreal.tipo='Gastos')
        UNION (SELECT * FROM categorias WHERE tipo='Gastos')"
;
        
$resul mysql_query ($consul) or die ("Error en consulta:".mysql_error());
        
        while (
$fila mysql_fetch_array($resul)) 
pero no me funciona
me da el siguiente error
y no cacho que onda...

Error en consulta:The used SELECT statements have a different number of columns

saludos
  #4 (permalink)  
Antiguo 05/08/2009, 08:28
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 15 años, 4 meses
Puntos: 13
Respuesta: Cómo unir 2 consultas?

alguien sabe???
aún no me sale


para hacerla más facil, lo tengo asi pero no funciona

Código PHP:
SELECT FROM valorreal WHERE nombre='asdf' UNION SELECT FROM valoracumulado WHERE nombre='asdf' 
el error es:
Notice: Undefined index: realacum in C:\wamp\www\sistema\Gastos.php on line 119
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 22:16.