Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL - Como exibir o valor da linha como nome da coluna usando concat e group_concat


Você deve usar a tabela pivotante. Não há comando PIVOT no MySQL, então você pode usar esta consulta -
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;

Tabelas dinâmicas MySQL (transformar linhas em colunas) .

Use a função GROUP_CONCAT em vez de MAX, se vários available valores são possíveis.