Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/04/2011, 05:32
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: subconsulta con funciones

Código MySQL:
Ver original
  1. SELECT TOP 500 rfc, MAX(val10)
  2. FROM ventas
  3. ORDER BY MAX(val10)
  4. WHERE rfc IN (SELECT  rfc, estado, empresa FROM empresas)
Esto ni siquiera te debe estar funcionando en SQL Server... Tiene errores graves ya en SQL estándar.
- TOP es una cláusula de SQL Server, no de MySQL. MySQL usa LIMIT y no se pone en el SELECT sino al final de todo.
- ORDER BY y GROUP BY no van allí sino después del WHERE.
- Si vas a usar una subconsulta con IN() en el WHERE contra un campo, la subconsulta debe devolver un sólo campo, y tu estás pidiendo tres.
- Esa forma de hacer el IN() no tiene sentido para lo que quieres conseguir. Eso se obtiene usando un INNER JOIN.
Código MySQL:
Ver original
  1. SELECT V.rfc, V.MAX(val10)  MaxVal
  2. FROM ventas V INNER JOIN empresas E USING(rfc)
  3. ORDER BY MaxVal
  4. LIMIT 500
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)