Ver Mensaje Individual
  #6 (permalink)  
Antiguo 02/06/2011, 09:48
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Problemas con Querys

Jejeje... el ejemplo que pone el compañero huesos52 sigue la misma idea que el mio, utilizando GROUP_CONCAT (yo tuve un error al momento de postear y puse GROUP_BY, pero si siguen el desarrollo del script al final utilizo la misma función)

Con respecto a la observación del compañero gnzsoloyo, este query serviría para el primer ejemplo que pone JACITOB3, en donde utiliza sólo dos columnas:

Cita:
++++++++++++++++++++++++++++++++++++++
+COLUMNA1 + COLUMNA2 +
++++++++++++++++++++++++++++++++++++++
+ usuario1 + CATEGORIA 7 CATEGORIA 9 +
+ usuario2 + CATEGORIA 9 +
+ usuario3 + CATEGORIA 7 CATEGORIA 8 CATEGORIA 9 +
++++++++++++++++++++++++++++++++++++++
según lo que entendí cualquiera de las dos presentaciones le serviría,

Para la segunda presentación, podría hacerlo más o menos así:

Código MySQL:
Ver original
  1. mysql> select * from tabla;
  2. +----------+-----------+
  3. | usuario  | categoria |
  4. +----------+-----------+
  5. | usuario1 |         7 |
  6. | usuario1 |         9 |
  7. | usuario2 |         9 |
  8. | usuario3 |         7 |
  9. | usuario3 |         8 |
  10. | usuario3 |         9 |
  11. +----------+-----------+
  12. 6 rows in set (0.00 sec)
  13.  
  14. mysql> SELECT usuario,
  15.     -> if(find_in_set('7', group_concat(categoria)) > 0, 'X', null) categoria7,
  16.     -> if(find_in_set('8', group_concat(categoria)) > 0, 'X', null) categoria8,
  17.     -> if(find_in_set('9', group_concat(categoria)) > 0, 'X', null) categoria9
  18.     -> FROM tabla
  19.     -> GROUP BY usuario
  20.     -> ORDER BY 1;
  21. +----------+------------+------------+------------+
  22. | usuario  | categoria7 | categoria8 | categoria9 |
  23. +----------+------------+------------+------------+
  24. | usuario1 | X          | NULL       | X          |
  25. | usuario2 | NULL       | NULL       | X          |
  26. | usuario3 | X          | X          | X          |
  27. +----------+------------+------------+------------+
  28. 3 rows in set (0.00 sec)

Por supuesto que para ese ejercicio dependerá del número de categorías que pueda haber en la tabla

Ahora sólo habrá que esperar los comentarios del autor del post jejeje.

Saludos
Leo.