Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/02/2011, 13:29
Silver
 
Fecha de Ingreso: noviembre-2001
Ubicación: México DF
Mensajes: 128
Antigüedad: 22 años, 5 meses
Puntos: 0
Combinando 2 selects

Hola amigos,

Quisiera saber si es posible un SELECT en el área de definición de campos... algo parecido a SELECT `nombre`,`puesto`,`tipouser`, (SELECT * FROM `permisos`) AS `permisos` FROM `usuarios`;

Es que los datos de un usuario los obtengo de varias tablas y los permisos de su 'tipo de usuario' los obtengo de otras y necesito que todo salga en un mismo SELECT pues se carga directo a un JsonStore de una Grid en ExtJS.

Aquí el ejemplo de cómo lo obtengo hoy por separado... pero así no me sirve, lo necesito juntar... no sé si con UNION o 2 SELECTS, no sé...

Código PHP:
// un usuario es de un tipo, y ese tipo tiene determinados niveles de acceso
$strSQL 'SELECT a.access FROM `users` u 
LEFT JOIN `usertypes` ut ON ut.`idusertype` = u.`usertypeid` 
LEFT JOIN `types_access` ta ON ta.`usertypeid` = ut.`idusertype` 
LEFT JOIN `access` a ON a.`idaccess` = ta.`accessid` 
WHERE u.`iduser` = '
.intval($theid); 
$access Db::getInstance()->Query($strSQL); // metodo de la clase Db que se conecta y consulta la query

// un usuario es de un tipo y pertenece a una compañía
$strSQL 'SELECT u.`iduser`, u.`fullname`, u.`gender`, c.`company`, u.`email`, u.`phone`, ut.`usertype` 
FROM `users` u 
LEFT JOIN `companies` c ON c.`idcompany` = u.`companyid`  
LEFT JOIN `usertypes` ut ON ut.`idusertype` = u.`usertypeid` 
WHERE u.`iduser` = '
.intval($theid);
$data Db::getInstance()->Query($strSQL);

$result = array($access$data);
return 
$result
Saludos y gracias por adelantado,
Silver
__________________
Nuedi Servicios SA de CV
http://www.nuedi.mx