Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] select con where dinamico desde otro select

Estas en el tema de select con where dinamico desde otro select en el foro de PHP en Foros del Web. Hola amigos haber si me pueden ayudar tengo un condigo ejemplo Código PHP: mysql_select_db ( $database_evaluaciones ,  $evaluaciones ); $query_MAT  =  SELECT iduser ,  clave ,  ...
  #1 (permalink)  
Antiguo 05/11/2012, 22:27
 
Fecha de Ingreso: diciembre-2009
Mensajes: 16
Antigüedad: 14 años, 4 meses
Puntos: 1
select con where dinamico desde otro select

Hola amigos haber si me pueden ayudar

tengo un condigo ejemplo


Código PHP:
mysql_select_db($database_evaluaciones$evaluaciones);
$query_MAT SELECT iduserclavedatos WHERE iduser='501';
$MAT mysql_query($query_MAT$evaluaciones) or die(mysql_error());
$row_MAT mysql_fetch_assoc($MAT);
$totalRows_MAT mysql_num_rows($MAT); 
resultado

501, h41, rojo
501, h42, azul
501, h43, verde

pero quiero hacer un otra consulta con h41, h42, h43

como uso esos valores en un while si veo las primeros datos pero si coloco:

Código PHP:
$valor=$row_MAT ['clave']

SELECT tipocolor WHERE clave '$valor' 
solo me toma el primer valor de las claves osea h41 alguien que me pueda hecha una mano se los agradecere.
  #2 (permalink)  
Antiguo 06/11/2012, 01:59
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: select con where dinamico desde otro select

Bueno, podrías solucionarlo con un bucle aunque lo más correcto sería hacerlo todo en la misma consulta.
No sé como tienes la DB pero sería algo así:
Código PHP:
$query_MAT SELECT iduserclavedatos,tipocolor WHERE iduser='501'
Deberías indicar el nombre de las tablas en la consulta
  #3 (permalink)  
Antiguo 06/11/2012, 03:08
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: select con where dinamico desde otro select

Esa query esta incompleta le falta la calusula FROM que indica la tabla de donde se saca los datos.... te funciona?

SELECT ...lista de campos.... FROM nombre tabla (o combinacion de tablas) WHERE ...restriciones... ORDER BY ...lista de campos...

Supongamos que tienes dos tablas Usuarios y TiposColor

Usuarios
iduser
clave
datos
...

TiposColor
clave
tipocolor


Código MySQL:
Ver original
  1. SELECT u.iduser, u.clave, u.datos,t.tipocolor
  2. FROM usuarios u INNER JOIN TiposColor t ON u.clave=t.calve
  3. WHERE u.iduser='501';

Daria lo que buscas....


Código MySQL:
Ver original
  1. SELECT t.clave,t.tipocolor
  2. FROM TiposColor t
  3. WHERE t.clave IN (SELECT u.clave FROM Usuarios u WHERE u.iduser='501')

Tambien te da los tipos de color para las claves del usuario 501...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #4 (permalink)  
Antiguo 06/11/2012, 23:20
 
Fecha de Ingreso: diciembre-2009
Mensajes: 16
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: select con where dinamico desde otro select

Gracias por las respuestas amigos y si me falto poner las tablas, no entendí como utilizar el

Código PHP:
$query_MAT SELECT iduserclavedatos,tipocolor WHERE iduser='501'
ya que me tiraba un error en la consulta, pero las soluciónes que me dio quimfv si me funcionaron, no había trabajado con sub consultas pero al final si me funciono Gracias!!

al final me quede con esta la otra también me funciono!!
Código PHP:
SELECT t.clave,t.tipocolor
FROM TiposColor t
WHERE t
.clave IN (SELECT u.clave FROM Usuarios u WHERE u.iduser='501'

Etiquetas: dinamico, mysql, select, sql
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:01.