Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

subconsulta con funciones

Estas en el tema de subconsulta con funciones en el foro de Mysql en Foros del Web. hola maestros de sql soy nuevo en esto de las bases d datos y la vdd m gustaria que me ayudaran con este tipo de ...
  #1 (permalink)  
Antiguo 25/04/2011, 22:22
 
Fecha de Ingreso: abril-2011
Mensajes: 6
Antigüedad: 13 años
Puntos: 0
subconsulta con funciones

hola maestros de sql soy nuevo en esto de las bases d datos y la vdd m gustaria que me ayudaran con este tipo de consultas agradeceria su ayuda.

la consulta s la siguien si pudieran corregirme, o un linck q maneje este tipo de consultas con este tipo de funciones y q contengan unos ejemplos

select top 500 rfc, max(val10) from ventas group by rfc order by max(val10) where rfc in (select rfc, estado, empresa from empresas)

agradeceria su ayuda..........gracias

la primera consulta si obtengo el resultado deseado pero lo q deseo comparla con la tabla empresas para q m muestre los datos d las empresas q realizan ciertas ventas
  #2 (permalink)  
Antiguo 26/04/2011, 05:32
Avatar de 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)
  #3 (permalink)  
Antiguo 26/04/2011, 12:02
 
Fecha de Ingreso: abril-2011
Mensajes: 6
Antigüedad: 13 años
Puntos: 0
Respuesta: subconsulta con funciones

ok gracias por tu ayuda ya e comprendedi mejor que no todas las cosultas anidades solo se puede utilizar el IN si no q tambien ay otras clausulas gracias por tu ayuda y q tambie no son las mismas clausulas de mysql que las sqlserver................se te agradece que tengas buen dia

Etiquetas: funciones, subconsulta
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 03:31.