Título: Ayuda con consulta en mysql. Publicado por: 1mpuls0 en 27 Diciembre 2012, 01:33 am Hola.
Estoy realizando una consulta para obtener la cantidad de premios de un jugador de un premio en especifico, pero no lo consigo :/ Por ejemplo tengo la siguiente tabla. El jugador 2 tiene el premio 5 un total de 3 veces y el jugador 3 tiene el premio 1 un total de 2 veces. Código
Quiero obtejer el siguiente resultado. Código
Esto significa que player 3 tiene el award1 2 veces y el award5 0 veces. De igual forma player 2 tiene el award1 0 veces y el award5 3 veces. Alguna sugerencia?. Estoy intentando con esta parte en la consulta... :/ es para obtener la suma de los premios, pero necesito un alias para cada premio... awardi hasta awardn con sus respectivos jugadores y cantidades. Código
Aquí les dejo la estructura de la tabla. Código
Gracias Título: Re: Ayuda con consulta en mysql. Publicado por: Shell Root en 27 Diciembre 2012, 12:55 pm Optaría mejor por crear un procedimiento almacenado, -la opción más rapida :p-
Título: Re: Ayuda con consulta en mysql. Publicado por: 1mpuls0 en 27 Diciembre 2012, 16:58 pm Gracias Shell Root.
Alguna idea de que debo hacer primero?... es decir.. agrupar por players, separar por awards o sumar?. Aunque por otro lado los procedimientos me muestran el resultado pero al trabajar con mysql_fetch_array no me recoge los valores :/ (ya lo intenté así -> http://www.phpgang.com/mysql-stored-procedure-in-php_9.html y no funcionó, pero bueno ese es otro tema). Alguna otra sugerencia?. Saludos Título: Re: Ayuda con consulta en mysql. Publicado por: moikano→@ en 27 Diciembre 2012, 18:26 pm La estructura de la tabla no lo encuentro de mi gusto, ya que el total se puede calcular y no hace falta almacenarlo en una columna, pero supongo que tendrás tus razones para hacerla así.
Lo que quieres creo que se consigue con una subconsulta. Mas o menos sería así, pero estoy con otras cosas y no tengo tiempo de pensar la subconsulta para ordenar el resultado. Código: SELECT award,count(award) as 'cantidad' ,player FROM awards GROUP BY player; Este es el resultado: Código: +-------+----------+--------+ Título: Re: Ayuda con consulta en mysql. Publicado por: 1mpuls0 en 27 Diciembre 2012, 18:41 pm Gracias...
Si de hecho es una tabla de ejemplo y fue lo primero que se me ocurrió, la tabla original es más extensa... (más premios) Lo que quiero es saber cuantos premios P1, P2, P3... PN tiene el jugador X y mostrar como una tabla de Premios, Cantidad y Jugadores. La consulta que dices es más o menos lo que busco, pero en lugar de tener una columna llamada award sería cambiar el valor de un award por un nombre y colocarlo como columna (método del pivot) pero aun no lo consigo :/ Tal vez tendré que hacerlo con programación xD.. Gracias Título: Re: Ayuda con consulta en mysql. Publicado por: moikano→@ en 27 Diciembre 2012, 19:29 pm Citar Tal vez tendré que hacerlo con programación La verdad es que tengo mis dudas de si se puede sacar por consulta, ya que ahí estás creando una columna por cada premio. No se, pero si retocas el resultado de la consulta que te mostré puedes ordenarlo fácilmente ya que realmente te saca cada premio por cada jugador. Título: Re: Ayuda con consulta en mysql. Publicado por: 1mpuls0 en 27 Diciembre 2012, 23:13 pm Al final parece que era algo muy simple.
Gracias por la ayuda. Código
Saludos |