Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/03/2012, 12:20
marcusaurelio
 
Fecha de Ingreso: enero-2007
Mensajes: 285
Antigüedad: 17 años, 3 meses
Puntos: 21
Exclamación limit en left join

hola gente traigo esto desde el foro de php donde consulte por este problema y me recomendaroa que me venta para el de mysql.. le agradezco me den una mano.. saludos.


Cita:
Iniciado por marcusaurelio Ver Mensaje
hola gente como va? espero puedan iluminarme..

la idea es esta tengo una consulta que dice mas o menos asi..



Código PHP:

SELECT 
*, IF(datos.d_semana=$s,'SI','NO') as hay FROM (clientes 
left join categorias on clientes
.cl_categoria_id=categorias.c_id
left join canales on clientes.cl_canal_id=canales.ca_id 
left join zonas on clientes
.cl_prov_id=zonas.z_id 
left join operadores on clientes
.cl_operador_id LIKE operadores.o_id 
left join usuarios on clientes
.cl_merchandiser=usuarios.u_id 
left join datos on clientes
.cl_id=datos.d_cliente and datos.d_semana='$s' 
where clientes.cl_merchandiser='$elmercha'  $sql group by clientes.cl_id ORDER BY $orden 
el problema es en el join de la tabla datos.. por que esta tabla tiene muchiiiiisimos registros entonces al querer cargar la pagina se produce un time out...

la idea seria limitar el if.. para lo cual llegue a esta cosulta...

Código PHP:

SELECT 
FROM 
(clientes left join categorias on clientes.cl_categoria_id=categorias.c_id
left join canales on clientes.cl_canal_id=canales.ca_id 
left join zonas on clientes
.cl_prov_id=zonas.z_id 
left join operadores on clientes
.cl_operador_id LIKE operadores.o_id 
left join usuarios on clientes
.cl_merchandiser=usuarios.u_id 
left join 
(SELECT *, IF(datos.d_semana=$s,'SI','NO') as hay from datos limit 1) AS datos  on clientes.cl_id=datos.d_cliente and datos.d_semana='$s' 
where clientes.cl_merchandiser='$elmercha'  $sql group by clientes.cl_id ORDER BY $orden 
pero la misma no hace lo que quiero ya que.. si por ejemplo.. tendria que arrojarme 3 resultados solo me tira 1 por el limit..

alguien podria darme una mano con esto?