Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[SOLUCIONADO] Pivot tabla Mysql

  • 3 Respuestas
  • 371 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado REMHINOB

  • *
  • Underc0der
  • Mensajes: 24
  • Actividad:
    13.33%
  • Reputación 0
    • Ver Perfil
« en: Mayo 13, 2019, 02:03:31 pm »
Hola, necesito su ayuda por favor, tengo una tabla cuya estructura es asi:
id_tareo id_personal fec_tareopers   id_codtareo
000001     23         01/05/2019    TD
000002     23         02/05/2019    TD
000003     23         03/05/2019    TN
000004     12         01/05/2019    F
000005     12         02/05/2019    TN
000006     12         03/05/2019    TN

y deseo que mi resultado sea algo asi:

id_personal 01/05/2019  02/05/2019 03/05/2019     TD  TN   F
    23                   TD             TD        TN                  2    1    0
    12                    F              TN        TN                  0    2    1

intente con esta linea pero solo me llena la primera columna (01/05/2019):

SELECT  id_personal, 
(CASE WHEN AK.fec_tareopers = '01/05/2019' THEN AK.id_codtareo ELSE NULL END)  '01/05/2019',
(CASE WHEN AK.fec_tareopers = '02/05/2019' THEN AK.id_codtareo ELSE NULL END)  '02/05/2019'
(CASE WHEN AK.fec_tareopers = '03/05/2019' THEN AK.id_codtareo ELSE NULL END)  '02/05/2019'
from adm_tareopers AK
inner join adm_personal AP on AK.id_personal=AP.id_personal
group by AK.id_personal

de antemano gracias por su ayuda
« Última modificación: Mayo 14, 2019, 12:32:14 am por Gabriela »

Desconectado Solid Water

  • *
  • Underc0der
  • Mensajes: 101
  • Actividad:
    11.67%
  • Reputación 4
  • (:{
    • Ver Perfil
« Respuesta #1 en: Mayo 13, 2019, 03:16:22 pm »
Prueba así:

SELECT  id_personal, 
(select id_codtareo from adm_tareopers where fec_tareopers = '01/05/2019' and id_personal = AK.id_personal) as '01/05/2019',
(select id_codtareo from adm_tareopers where fec_tareopers = '02/05/2019' and id_personal = AK.id_personal) as '02/05/2019',
(select id_codtareo from adm_tareopers where fec_tareopers = '03/05/2019' and id_personal = AK.id_personal) as '03/05/2019'
from adm_tareopers AK
inner join adm_personal AP on AK.id_personal=AP.id_personal
group by AK.id_personal

Saludos,
« Última modificación: Mayo 13, 2019, 03:32:03 pm por Solid Water »



Desconectado REMHINOB

  • *
  • Underc0der
  • Mensajes: 24
  • Actividad:
    13.33%
  • Reputación 0
    • Ver Perfil
« Respuesta #2 en: Mayo 13, 2019, 07:46:05 pm »
Prueba así:

SELECT  id_personal, 
(select id_codtareo from adm_tareopers where fec_tareopers = '01/05/2019' and id_personal = AK.id_personal) as '01/05/2019',
(select id_codtareo from adm_tareopers where fec_tareopers = '02/05/2019' and id_personal = AK.id_personal) as '02/05/2019',
(select id_codtareo from adm_tareopers where fec_tareopers = '03/05/2019' and id_personal = AK.id_personal) as '03/05/2019'
from adm_tareopers AK
inner join adm_personal AP on AK.id_personal=AP.id_personal
group by AK.id_personal

Saludos,


ERES UN GENIO!!!!!, Gracias de corazon hemano
« Última modificación: Mayo 14, 2019, 12:31:43 am por Gabriela »

Desconectado Solid Water

  • *
  • Underc0der
  • Mensajes: 101
  • Actividad:
    11.67%
  • Reputación 4
  • (:{
    • Ver Perfil
« Respuesta #3 en: Mayo 13, 2019, 08:38:10 pm »
Gracias.
Si el usuario de la app se confunde y para el mismo id y misma fecha crea 2 o más tareopers la consulta fallará. Para evitar eso o declaras los 3 campos como primary key compuesta o haces un filtro que primero busque que ya no exista y si existe no lo permita o haga un update en lugar de un insert o le dices que solo traiga la primer ocurrencia en el sql agregando limit 1 dentro de cada subconsulta de los parentesis. Eso último filtraría el error pero quedaría la basura en la base de datos.



 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 14405
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 2797
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 5059
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 4853
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon
[SOLUCIONADO] Problem al instalar Windows "cualquier windows"

Iniciado por Made

Respuestas: 7
Vistas: 4078
Último mensaje Septiembre 03, 2012, 04:53:08 pm
por Made