
he checado en el foro pero en las pruebas solo e podido buscar por medio del nombre pero me aparece en lista el nombre repetido con los dias y sus colores pero no e podido organizarlos en la tabla
| |||
![]() hola tengo una base de datos como aparece arriva y quiero que al hacer una consulta me aparesca como esta en la tabla. ![]() he checado en el foro pero en las pruebas solo e podido buscar por medio del nombre pero me aparece en lista el nombre repetido con los dias y sus colores pero no e podido organizarlos en la tabla Última edición por mroblesh06; 28/06/2013 a las 13:04 |
| |||
Respuesta: Hacer una consulta Hola mroblesh06: Antes que nada veo que es tu primer post, así es que bienvenido al foro... Ahora, algunas recomendaciones... antes de publicar un post utiliza la herramienta de búsqueda del foro o pregúntale a SAN GOOGLE... el generalmente tiene las respuestas. Checa esta liga: http://lmgtfy.com/?q=convertir+filas+a+columnas+mysql Dos, si no encuentras nada que te sirva, postea entonces algo de lo que intentaste hacer, dinos qué problemas tienes y así será más fácil tratar de ayudarte... en tu post dices que checaste en el foto pero no incluyes el código que intentaste hacer, de tal manera que es imposible saber qué estás haciendo mal... La consulta en realidad es bastante común... puedes resolverla de muchas maneras, una de ellas es haciendo agrupaciones condicionales, es decir, algo como esto:
Código MySQL:
Ver original Agrupando por el nombre de la persona y agregando una condición por cada uno de los días que aparecen en tu tabla... checa algunos de los ejemplos y si continuas con dudas postea lo que hiciste y con gusto te ayudamos a resolver la consulta Saludos Leo. |
| |||
Respuesta: Hacer una consulta asi es es mi primer post y para hacer sincero tambien soy nuevo en mysql, y estaba practicando pero, al hacer las busquedas en google buscaba mal, jaja una disculpa entonces si entendi quedaria algo asi. Código HTML: SELECT nombre, MAX(IF(dia = 'lunes', color, NULL)) lunes, MAX(IF(dia = 'martes', color, NULL)) martes, MAX(IF(dia = 'miercoles', color, NULL)) miercoles, MAX(IF(dia = 'jueves', color, NULL)) jueves, MAX(IF(dia = 'viernes', color, NULL)) viernes, FROM `dias y colores` |
| |||
Respuesta: Hacer una consulta gracias leo pero no entiendo como la agrupación por nombre pongo el que estaba haciendo
Código HTML:
Ver original pero me manda error en from `dias y colores` |
| |||
Respuesta: Hacer una consulta Hola de nuevo mroblesh06: Creo que el problema es que no tienes muchos conocimientos sobre SQL... te conviene darte una revisada a cualquier manual de SQL para principiantes. La función MAX() es una función de AGRUPACIÓN... aquí se realiza de manera un tanto "tramposa" pues en realidad no sirve para obtener un valor Máximo. estás funciones se usan por lo general con la cláusula GROUP BY, la cual sirve para AGRUPAR registros semejantes... observa este ejemplo.
Código MySQL:
Ver original Observa que en la segunda consulta, si se omite el GROUP BY te regresa UN SOLO REGISTRO, independientemente de que estés haciendo referencia a dos nombres distintos, haciendo la suma de todos los registros... es eso a lo que me refiero con que tienes que agrupar. Y mucho ojo, si no utilizas una función de agrupación y pones solo el IF, en realidad sólo te va a colocar un registro y las demás columnas las va a poner con NULL Saludos Leo. |
| |||
Respuesta: Hacer una consulta si tengo que estudiar mucho jajaja, y ya entendi lo de agrupar gracias, ya estoy leyendo un manual, gracias gnzsoloyo ya quedo la consulta solo me manda los colores de toda la semana y agarra tambien los de los demas nombres. |
Etiquetas: |