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

Query tras otra query - ¿sintaxis correcta?

Estas en el tema de Query tras otra query - ¿sintaxis correcta? en el foro de Mysql en Foros del Web. Tengo la siguiente consulta Código PHP: SELECT SUM ( apuesta )  FROM  ( SELECT  *  FROM apuestas_torneo WHERE  ( usuario  =  '$usuario' )  GROUP BY fecha )  WHERE  ( SUM ...
  #1 (permalink)  
Antiguo 28/06/2008, 14:11
 
Fecha de Ingreso: septiembre-2006
Mensajes: 68
Antigüedad: 17 años, 7 meses
Puntos: 0
Query tras otra query - ¿sintaxis correcta?

Tengo la siguiente consulta

Código PHP:
SELECT SUM(apuestaFROM (SELECT FROM apuestas_torneo WHERE (usuario '$usuario'GROUP BY fechaWHERE (SUM(apuesta) > 9
Por si no se entiende, lo que pretendo primero es buscar en la tabla apuestas_torneo todas las filas para un determinado usuario, agrupadas por fecha

Con el resultado de esta 1º consulta sólo quiero contar aquellos días en los que la suma de los valores del campo apuesta sea mayor a 9

El código en PHP para realizar el conteo de la 2º consulta lo tengo, lo que me falta es cómo realizar la 2º consulta en base a una 1º consulta... y mucho me temo que lo que he posteado arriba es una barbaridad sintáctica, ¿alguien me echa un cable?

Última edición por falotron; 28/06/2008 a las 14:17
  #2 (permalink)  
Antiguo 28/06/2008, 20:21
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, 4 meses
Puntos: 2658
Respuesta: Query tras otra query - ¿sintaxis correcta?

En principio tienes dos errores:
1. Las tablas derivadas (en este caso la resultante de la subconsulta) tienen obligatoriamente que tener un ALIAS.
2. Las funciones agregadas no pueden ir en el WHERE (estándar ANSI SQL-1999).

Código:
SELECT 
    SUM(apuesta) 
FROM 
    (SELECT * 
     FROM apuestas_torneo 
     WHERE (usuario = '$usuario') 
     GROUP BY fecha) AS tabla1 
HAVING SUM(apuesta) > 9
__________________
¿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 29/06/2008, 15:15
 
Fecha de Ingreso: septiembre-2006
Mensajes: 68
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Query tras otra query - ¿sintaxis correcta?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
En principio tienes dos errores:
1. Las tablas derivadas (en este caso la resultante de la subconsulta) tienen obligatoriamente que tener un ALIAS.
2. Las funciones agregadas no pueden ir en el WHERE (estándar ANSI SQL-1999).

Código:
SELECT 
    SUM(apuesta) 
FROM 
    (SELECT * 
     FROM apuestas_torneo 
     WHERE (usuario = '$usuario') 
     GROUP BY fecha) AS tabla1 
HAVING SUM(apuesta) > 9
Muchas gracias!
Y ese "tabla1" en qué influye? Quiero decir... es por poner un ejemplo? O no "entra" en el código posterior para tratar los datos obtenidos en la consulta?
  #4 (permalink)  
Antiguo 29/06/2008, 18:19
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, 4 meses
Puntos: 2658
Respuesta: Query tras otra query - ¿sintaxis correcta?

La subconsulta puesta en el FROM es lo que se denomina "tabla derivada". Y MySQL tiene como regla obligatoria que toda tabla derivada debe forzosamente tener un alias. Lo uses o no.
Si no le pones un alias, te dará un error de ejecución.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 29/06/2008, 19:44
Avatar de killerangel  
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 592
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: Query tras otra query - ¿sintaxis correcta?

y usando ese codigo se puede hacer un select en esta tabla derivada?

select * from tabla_derivada where...???
__________________
Sueñen... y trabajen por hacer esos sueños realidad... de eso se construye el futuro!!
Me siento entre la ASP-ada y la PHP-red
  #6 (permalink)  
Antiguo 29/06/2008, 22:16
 
Fecha de Ingreso: septiembre-2006
Mensajes: 68
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Query tras otra query - ¿sintaxis correcta?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
La subconsulta puesta en el FROM es lo que se denomina "tabla derivada". Y MySQL tiene como regla obligatoria que toda tabla derivada debe forzosamente tener un alias. Lo uses o no.
Si no le pones un alias, te dará un error de ejecución.
Entendido
Muchas gracias!
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 18:16.