sql >> Database teknologi >  >> RDS >> Mysql

Data til stede i rækker til kolonner

Der er ingen PIVOT-kommando i MySQL, men der er løsninger - Grundlæggende om pivottabeller:rækker til kolonner... , MySQL pivottabeller (omdan rækker til kolonner) .

Til dit tilfælde kunne du bruge noget som dette -

SELECT AppNo,
  MAX(IF(code = 1, Location, NULL)) Location,
  MAX(IF(code = 1, Department, NULL)) Department,
  1 Code1,
  MAX(IF(code = 2, Location, NULL)) Location,
  MAX(IF(code = 2, Department, NULL)) Department,
  2 Code2,
  MAX(IF(code = 3, Location, NULL)) Location,
  MAX(IF(code = 3, Department, NULL)) Department,
  3 Code3,
  MAX(IF(code = 4, Location, NULL)) Location,
  MAX(IF(code = 4, Department, NULL)) Department,
  4 Code4,
  MAX(IF(code = 5, Location, NULL)) Location,
  MAX(IF(code = 5, Department, NULL)) Department,
  5 Code5
FROM <table name>
GROUP BY AppNo

P.S. Du kan køre denne forespørgsel fra den lagrede rutine.



  1. Min MySQL-trigger virker ikke, simpel syntaks, ikke kompliceret

  2. Kan ikke VÆLGE fra UPDATE RETURNING-klausulen i postgres

  3. SQL Server-forespørgsel:Hurtig med bogstavelig men langsom med variabel

  4. MySQL InnoDB-begrænsning virker ikke