MySQL - row to columns mysql

 
Vista:
sin imagen de perfil

row to columns mysql

Publicado por heber israel (1 intervención) el 16/11/2018 23:41:23
Buen dia a todos.
Tengo una duda, espero me puedan ayudar ya que mis conocimientos no son muy amplios.
Tengo una consulta basica.

SELECT nombre
FROM cartera

mi resultado es:
-----------
nombre |
-----------
pedro |
----------
paco |
----------
juan |
---------
beto |
---------

quiero llegar a esto:

--------------------------------------------------------------
nombre1 | nombre2 | nombre3 | nombre4 |
--------------------------------------------------------------
pedro | paco | juan | beto |
-------------------------------------------------------------

que me recomiendan??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

row to columns mysql

Publicado por leonardo_josue (414 intervenciones) el 20/11/2018 16:10:52
Hola heber israel:

Lamentablemente en MySQL no existe el concepto de tabla PIVOTE o de Referencias Cruzadas como en otros DBMS, por lo tanto, hacer lo que quieres puede no resultar tan simple...

Tal como pones tu tabla y si ningún otro dato que pudiera ayudar como un índice, una secuencia o algo así, la única forma de obtener lo que quieres sería algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
mysql> SELECT * FROM cartera;
+--------+
| nombre |
+--------+
| pedro  |
| paco   |
| juan   |
| beto   |
+--------+
4 rows in set (0.00 sec)
 
mysql> SELECT
    -> (SELECT nombre FROM cartera WHERE nombre = 'pedro') nombre1,
    -> (SELECT nombre FROM cartera WHERE nombre = 'paco') nombre2,
    -> (SELECT nombre FROM cartera WHERE nombre = 'juan') nombre3,
    -> (SELECT nombre FROM cartera WHERE nombre = 'beto') nombre4;
+---------+---------+---------+---------+
| nombre1 | nombre2 | nombre3 | nombre4 |
+---------+---------+---------+---------+
| pedro   | paco    | juan    | beto    |
+---------+---------+---------+---------+
1 row in set (0.01 sec)

También te recomiendo que cheques esta liga:

http://www.artfulsoftware.com/infotree/queries.php

en específico los temas que tienen que ver con Pivot tables (crosstabs)

Ahí encontrarás otras formas para simular las tablas PIVOT en MySQL.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar