Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/07/2011, 13:34
Rasec101
 
Fecha de Ingreso: diciembre-2009
Ubicación: Santiago, Chile
Mensajes: 143
Antigüedad: 15 años
Puntos: 2
problemas con subquery en php

Buenas tardes me estado cabeciando mucho con esto si alguien me pudiera dar una mano en esto se los agradeceria lo que pasa es que nesesito sacar unos datos de varias tablas la idea es hacer un RAND() de anuncios para clientes de un perfil especifico pero sin reperir el cliente y estoy intentando con la siguiente funcion php :
Código PHP:
Ver original
  1. function obtenerAnuncio($Cliente)
  2.     {
  3.        $filtroCategoria = '';
  4.         if($idCategoria)
  5.             $filtroCategoria = "(anuncios.idCategoria = $idCategoria) AND ";
  6.            
  7.        $this->InciarConexion();
  8.  
  9.        $Consulta = " SELECT T1.*, COUNT(idGC) AS totAnuncios ";
  10.        $Consulta .= " FROM ";
  11.        $Consulta .= " (SELECT ";
  12.        $Consulta .= " A.idEstado, ";
  13.        $Consulta .= " P.nombre nombrePerfil, ";
  14.        $Consulta .= " C.nombre, ";
  15.        $Consulta .= " A.idCategoria, ";
  16.        $Consulta .= " A.titulo, ";
  17.        $Consulta .= " A.idCliente ,";
  18.        $Consulta .= " GC.idGC ";
  19.        $Consulta .= " FROM ";
  20.        $Consulta .= " anuncios A ";
  21.        $Consulta .= " INNER JOIN ";
  22.        $Consulta .= " usuarioclientes UC ON (A.idCliente=UC.idCliente) ";
  23.        $Consulta .= " INNER JOIN ";
  24.        $Consulta .= " perfiles P ON (UC.idPerfil=P.idPerfil) ";
  25.        $Consulta .= " INNER JOIN ";
  26.        $Consulta .= " categorias C ON (A.idCategoria=C.idCategoria) ";
  27.        $Consulta .= " LEFT OUTER JOIN ";
  28.        $Consulta .= " galeriasanuncios GA ON (A.idAnuncio=GA.idAnuncio) ";
  29.        $Consulta .= " LEFT OUTER JOIN ";
  30.        $Consulta .= " galeriaclientes GC ON (GA.idGaleriaCliente=GC.idGC) ";
  31.        $Consulta .= " WHERE ";
  32.        $Consulta .= $filtroCategoria;
  33.        $Consulta .= " (A.idEstado = 3) ";
  34.        $Consulta .= " AND ";
  35.        $Consulta .= " (P.idPerfil =65) ";
  36.        $Consulta .= " ORDER BY RAND()) T1 ";
  37.        $Consulta .= " GROUP BY ";
  38.        $Consulta .= " idCliente ";
  39.        $Consulta .= " LIMIT 7 ";  
  40.        
  41.        if($limite>0)
  42.            
  43.         // echo $Consulta;
  44.         if($this->EstadoDelaConexion())
  45.         {
  46.           $ResConsulta = $this->consultar($Consulta);
  47.           $this->cerrar_conexion ();
  48.           return $ResConsulta;
  49.         }
  50.     }
la consulta me funciona perfecto en el admin de mysql pero al pasarla a php me arroja el siguiente error :

MySQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') GROUP BY anuncios.idEstado, anuncios.idEstado, anuncios.idAnuncio, anunci' at line 1.