sql >> Database >  >> RDS >> Mysql

MySQL - Hoe rijwaarde als kolomnaam weer te geven met concat en group_concat

U moet tafeldraaien gebruiken. Er is geen PIVOT-commando in MySQL, dus u kunt deze query gebruiken -

SELECT
  t1.id,
  MAX(IF(t2.typename = 'CL', t1.available, NULL)) AS CL,
  MAX(IF(t2.typename = 'ML', t1.available, NULL)) AS ML
FROM table1 t1
  JOIN table2 t2
    ON t1.typeid = t2.typeid
GROUP BY
  t1.id;

MySQL-draaitabellen (transformeer rijen naar kolommen) .

Gebruik de functie GROUP_CONCAT in plaats van MAX, indien meerdere available waarden zijn mogelijk.



  1. XMLA ophalen om de kubusstructuur te analyseren

  2. Als EXPLAIN wordt uitgevoerd en de veldwaarde voor sleutel niet null is maar Extra leeg is, wordt de sleutel dan gebruikt?

  3. Krijg alle kinderen op ouder-ID en waar-clausule in mysql

  4. Het ACID-model voor databasebeheer begrijpen