Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

traer datos en columnas

Estas en el tema de traer datos en columnas en el foro de Mysql en Foros del Web. Hola, tengo la siguiente consulta y funciona muy bien , solo cambio el "PARANETRO" por un dato y queda listo, los resultados los arroja en ...
  #1 (permalink)  
Antiguo 27/05/2011, 09:45
 
Fecha de Ingreso: mayo-2010
Mensajes: 49
Antigüedad: 13 años, 10 meses
Puntos: 1
traer datos en columnas

Hola, tengo la siguiente consulta y funciona muy bien , solo cambio el "PARANETRO" por un dato y queda listo, los resultados los arroja en filas

Código SQL:
Ver original
  1. SELECT
  2.   articulos.CODIGO,
  3.   articulos.NOMBRE,
  4.   SUM(articulos.CANTIDAD) AS CANTIDAD,
  5.  
  6. WHERE
  7.     (articulos.TIPO =PARAMETRO)

abrá una forma de traer la cantidad de articulos en columnas de acuerdo al parametro???

ejem.

CODIGO NOMBRE CANTIDADTOTAL CANTIDADPARAMETRO CANTIDADPARAMETRO1
0000 algo 3 2 1
11111 otro 6 3 3



de antemano gracias
  #2 (permalink)  
Antiguo 27/05/2011, 10:47
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 1 mes
Puntos: 96
Respuesta: traer datos en columnas

No entendí podrías explicarte mejor!.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 27/05/2011, 11:04
 
Fecha de Ingreso: mayo-2010
Mensajes: 49
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: traer datos en columnas

digamos que tengo 4 campos en la tabla articulos


CODIGO NOMBRE CANTIDAD TIPO
00000 articulo1 2 I
00000 articulo1 3 V
00000 articulo1 4 V

si hago el query x TIPO "I" traera

CODIGO NOMBRE CANTIDAD TIPO
00000 articulo1 2 I





lo que nesecito es que la consulta la devuelva en columnas x TIPO

CODIGO NOMBRE TIPOI TIPOV
00000 articulo1 2 7

que muestre la suma de cantidades x Tipo
  #4 (permalink)  
Antiguo 27/05/2011, 12:24
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 2 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.

Etiquetas: columnas, tracker
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:35.