Foros del Web » Programando para Internet » PHP »

basar una consulta en otra consulta

Estas en el tema de basar una consulta en otra consulta en el foro de PHP en Foros del Web. Hola, como hago una consulta basada en un resultado de otra consulta?...
  #1 (permalink)  
Antiguo 02/04/2004, 08:22
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
basar una consulta en otra consulta

Hola, como hago una consulta basada en un resultado de otra consulta?

__________________
www.dataautos.com
  #2 (permalink)  
Antiguo 02/04/2004, 09:21
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
coloca la estructura de tus tablas y lo que quieres lograr con un ejemplo de como seria el resultado, de esa manera te podemos ayudar mejor e incluso encontrar un solucion mas optima de la que piensas si es que es posible.
  #3 (permalink)  
Antiguo 02/04/2004, 09:24
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
lo que quiero es algo como esto:

$query1 = select.....

y dependiendo de ese resultado hace algo como esto

$query2 = select from tabla where campo <> campo in ($query1)



el caso es que no me sale...
__________________
www.dataautos.com
  #4 (permalink)  
Antiguo 02/04/2004, 09:32
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
si no usas mysql eso se puede hacer en una sola consulta. De lo contrario, puedes hacer esto:

los datos del query1, imagino que es sólo un campo, guardalos en una arreglo, luego usa: $cadena= implode(",",$arreglo) para convertirla en una cadena separado por comas, luego construye el query2 asi:

$query2 ="select / from tabla where campo not in ($cadena)";

dado que mysql acepta arreglos de esta forma, la consulta quedaria asi, por ejemplo:

select * from tabla where campo not in (1,5,4,3,7)

si los datos son cadenas deberas concatenar a cada valor del arreglo las comillas simples correspondientes, de tal manera que el sql quede asi:

select * from tabla where campo not in ('cinco','tres','dos','seis','uno')
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #5 (permalink)  
Antiguo 02/04/2004, 09:34
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
si, bueno gracias, voy a intentar de esa forma

__________________
www.dataautos.com
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 12:24.