Autor
|
Tema: Consulta en Mysql [solucionado] (Leído 6,616 veces)
|
bewa
Desconectado
Mensajes: 15
|
Vuelvo con mi particular batalla con mysql xD Esta vez parece facilita y sólo hay que coger datos de una tabla pero no me sale. La tabla es esta: Hay que obtener los precios máximos por tipo de producto (descripción) con los siguientes datos: codprod, descripcion, preciomax Yo he hecho esto: SELECT CODPROD, DESCRIPCION, MAX(PVP) AS PRECIOMAX FROM PRODUCTOS GROUP BY DESCRIPCION ; Y me da como resultado: Los codprod no me coinciden. Me tendría que salir algo como:
|
|
« Última modificación: 5 Abril 2012, 14:25 pm por bewa »
|
En línea
|
|
|
|
Runex
Desconectado
Mensajes: 192
http://tutogramacion.blogspot.com
|
Vuelvo con mi particular batalla con mysql xD Esta vez parece facilita y sólo hay que coger datos de una tabla pero no me sale. La tabla es esta: Hay que obtener los precios máximos por tipo de producto (descripción) con los siguientes datos: codprod, descripcion, preciomax Yo he hecho esto: SELECT CODPROD, DESCRIPCION, MAX(PVP) AS PRECIOMAX FROM PRODUCTOS GROUP BY DESCRIPCION ; Y me da como resultado: Los codprod no me coinciden. Me tendría que salir algo como: Si no me equivoco es porque los ordenas por descripcion y no por codprod, prueba así: SELECT CODPROD, DESCRIPCION, MAX(PVP) AS PRECIOMAX FROM PRODUCTOS GROUP BY CODPROD;
|
|
|
En línea
|
"No renunciaría al bambú. Nunca renuciaría a ti. No te compares con otros" "El me dijo: El bambú tenía un propósito diferente al del helecho, sin embargo eran necesarios y hacían del bosque un lugar hermoso".
|
|
|
bewa
Desconectado
Mensajes: 15
|
Nop, porque el precio máximo de un producto sólo es uno. Tengo que coger los productos de mayor precio por tipo (descripcion). Si lo hago así me sale:
|
|
« Última modificación: 5 Abril 2012, 13:10 pm por bewa »
|
En línea
|
|
|
|
Runex
Desconectado
Mensajes: 192
http://tutogramacion.blogspot.com
|
Nop, porque el precio máximo de un producto sólo es uno. Tengo que coger los productos de mayor precio por tipo (descripcion). Si lo hago así me sale: Creo que ya se cual puede ser el problema. Al realizar esa consulta, toma como descripcion la primera ocurrencia de la descripcion con el precio máximo. Es decir, si por ejemplo una descripcion es "tele" , hay más con el mismo nombre y una de todas presenta un precio mayor a las de su mismo nombre, tomará como ID del producto, la primera ocurrencia en la tabla. He implementado tu misma tabla con los mismos registros en mi Pc, y he insertado una descripcion "mesa1" (nombre diferente a mesa") con codprod 11. He realizado tu misma consulta y el resultado del codprod de la descripcion "cama1" ha sido el correcto, 11. Así que, por el momento, creo que te va a tocar cambiar la descripcion de cada una de ellas, mesa1,mesa2,mesa3... Así te funcionará con esa consulta. Un saludo bewa
|
|
« Última modificación: 5 Abril 2012, 13:37 pm por Runex »
|
En línea
|
"No renunciaría al bambú. Nunca renuciaría a ti. No te compares con otros" "El me dijo: El bambú tenía un propósito diferente al del helecho, sin embargo eran necesarios y hacían del bosque un lugar hermoso".
|
|
|
bewa
Desconectado
Mensajes: 15
|
Ese el el problema, que coge los 4 primeros codprod y no los que tiene que coger. Pero las descripciones no las puedo cambiar porque está puesto así a mala leche digamos xD.
Un saludo Runex y gracias!!
|
|
|
En línea
|
|
|
|
Runex
Desconectado
Mensajes: 192
http://tutogramacion.blogspot.com
|
Si lo que quieres es que quede igual que la imágen y es por un ejercicio o algo puedes hacerles trampa. Pon varios registro mesa,mesa1,mesa2,cama,cama1,cama2 etc. Y pones el precio mayor a mesa,cama... Quedará igual que la imágen te lo aseguro jaja . Un saludo bewa y de nada para eso estamos, si se me ocurre algo más te lo digo
|
|
|
En línea
|
"No renunciaría al bambú. Nunca renuciaría a ti. No te compares con otros" "El me dijo: El bambú tenía un propósito diferente al del helecho, sin embargo eran necesarios y hacían del bosque un lugar hermoso".
|
|
|
bewa
Desconectado
Mensajes: 15
|
Madre mía. ¿He dicho que parecía facilita? lo retiro xD
La he sacado y todavía como que no termino de asimilar del todo.
La solución es ésta:
SELECT CODPROD, DESCRIPCION, MAX(PVP) AS PRECIOMAX FROM PRODUCTOS WHERE CODPROD IN(SELECT CODPROD FROM PRODUCTOS WHERE PVP IN (SELECT MAX(PVP) FROM PRODUCTOS GROUP BY DESCRIPCION) ) GROUP BY DESCRIPCION ;
|
|
|
En línea
|
|
|
|
Runex
Desconectado
Mensajes: 192
http://tutogramacion.blogspot.com
|
Madre mía. ¿He dicho que parecía facilita? lo retiro xD
La he sacado y todavía como que no termino de asimilar del todo.
La solución es ésta:
SELECT CODPROD, DESCRIPCION, MAX(PVP) AS PRECIOMAX FROM PRODUCTOS WHERE CODPROD IN(SELECT CODPROD FROM PRODUCTOS WHERE PVP IN (SELECT MAX(PVP) FROM PRODUCTOS GROUP BY DESCRIPCION) ) GROUP BY DESCRIPCION ;
Jaja menuda monstruosidad de consulta, es la primera vez que veo ese IN() en SQL, que función realiza, la misma que en otros lenguajes? Un saludo
|
|
|
En línea
|
"No renunciaría al bambú. Nunca renuciaría a ti. No te compares con otros" "El me dijo: El bambú tenía un propósito diferente al del helecho, sin embargo eran necesarios y hacían del bosque un lugar hermoso".
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Consulta en mysql
Bases de Datos
|
octavioxd
|
3
|
5,068
|
9 Enero 2010, 04:27 am
por octavioxd
|
|
|
Consulta en mysql
Bases de Datos
|
usuani
|
2
|
5,101
|
9 Marzo 2010, 17:25 pm
por usuani
|
|
|
[Solucionado]consulta a php-mysql
Desarrollo Web
|
cundre
|
4
|
4,404
|
19 Febrero 2011, 17:26 pm
por cundre
|
|
|
traer toda la consulta php-mysql
PHP
|
basickdagger
|
4
|
3,117
|
1 Julio 2012, 04:34 am
por basickdagger
|
|
|
Duda con consulta MYSQL
Bases de Datos
|
Bhrentox
|
1
|
2,272
|
9 Septiembre 2012, 05:26 am
por Bhrentox
|
|