Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/05/2011, 12:24
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: traer datos en columnas

Hola J0rg3M4r10:

Podrías hacer algo como esto:

Código MySQL:
Ver original
  1. mysql> create table articulos (codigo varchar(5), nombre varchar(15),
  2.     -> cantidad int, tipo varchar(2));
  3. Query OK, 0 rows affected (0.14 sec)
  4.  
  5. mysql> insert into articulos values
  6.     -> ('00000', 'articulo1', 2, 'I'),
  7.     -> ('00000', 'articulo1', 3, 'V'),
  8.     -> ('00000', 'articulo1', 4, 'V');
  9. Query OK, 3 rows affected (0.09 sec)
  10. Records: 3  Duplicates: 0  Warnings: 0
  11.  
  12. mysql> select * from articulos;
  13. +--------+-----------+----------+------+
  14. | codigo | nombre    | cantidad | tipo |
  15. +--------+-----------+----------+------+
  16. | 00000  | articulo1 |        2 | I    |
  17. | 00000  | articulo1 |        3 | V    |
  18. | 00000  | articulo1 |        4 | V    |
  19. +--------+-----------+----------+------+
  20. 3 rows in set (0.00 sec)
  21.  
  22. mysql> select codigo, nombre,
  23.     -> sum(if(tipo = 'I', cantidad, 0)) TIPO_I,
  24.     -> sum(if(tipo = 'V', cantidad, 0)) TIPO_V
  25.     -> from articulos
  26.     -> group by codigo, nombre;
  27. +--------+-----------+--------+--------+
  28. | codigo | nombre    | TIPO_I | TIPO_V |
  29. +--------+-----------+--------+--------+
  30. | 00000  | articulo1 |      2 |      7 |
  31. +--------+-----------+--------+--------+
  32. 1 row in set (0.00 sec)

Aquí deberías poner tantos SUM() como tipos existieran en tu tabla.

Saludos
Leo.