Foros del Web » Programando para Internet » PHP »

Problema en subconsulta cuando esta es múltiple

Estas en el tema de Problema en subconsulta cuando esta es múltiple en el foro de PHP en Foros del Web. Hola... tengo un problema, y entiendo el por qué, pero no sé cómo solucionarlo. Estoy haciendo una subconsulta del tipo: SELECT `campo` FROM `tabla` WHERE ...
  #1 (permalink)  
Antiguo 12/06/2011, 08:00
Avatar de Alvaro_Franz  
Fecha de Ingreso: mayo-2011
Mensajes: 84
Antigüedad: 13 años
Puntos: 4
Problema en subconsulta cuando esta es múltiple

Hola... tengo un problema, y entiendo el por qué, pero no sé cómo solucionarlo.

Estoy haciendo una subconsulta del tipo:

SELECT `campo` FROM `tabla` WHERE `campo`=(SELECT `campo` FROM `tabla_dos` WHERE `gastos`>10)


Surge el problema cuando la subconsulta devuelve varios registros diferentes. Aunque funciona cuando sólo es uno el registro devuelto.

¿Cómo hago para que recorra la tabla inicial buscando TODOS los registros devueltos por SUBCONSULTA?

Un saludo, gracias.
  #2 (permalink)  
Antiguo 12/06/2011, 08:30
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 10 meses
Puntos: 55
Respuesta: Problema en subconsulta cuando esta es múltiple

podrias hacerla separada y usando un while

Código PHP:
<?php

$sql 
mysql_query("SELECT `campo2` FROM `tabla_dos` WHERE `gastos`>10");

while(
$array=mysql_fetch_assoc($sql)) {
$campo2 $array['campo2'];

$sql2 mysql_query("SELECT `campo` FROM `tabla` WHERE `campo`= '$campo2'");

}
?>
pues algo así seria con php, sino debes buscar en el foro de mysql
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #3 (permalink)  
Antiguo 12/06/2011, 08:34
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Problema en subconsulta cuando esta es múltiple

Tu problema es de SQL no de PHP, deberías reportar el thread para que lo muevan al foro correspondiente, y para solucionar tu problemas podrías utilizar IN en vez de =

SELECT `campo` FROM `tabla` WHERE `campo` IN (SELECT `campo` FROM `tabla_dos` WHERE `gastos`>10)

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #4 (permalink)  
Antiguo 12/06/2011, 09:22
Avatar de Alvaro_Franz  
Fecha de Ingreso: mayo-2011
Mensajes: 84
Antigüedad: 13 años
Puntos: 4
Respuesta: Problema en subconsulta cuando esta es múltiple

Gracias masterpuppet, efectivamente ese ha sido mi fallo :D
Qué bueno haberlo solucionado... igual así gracias a johhan16 por su aporte
Un saludo.

Etiquetas: mysql
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 03:57.