Quero dizer, dada a entrada
NAME location
ANNA USA
Alica USA
Lisa CA
Arch CA
Ketty Germany
...
Eu quero resultado
USA CA Germany ...
Anna Lisa Ketty ...
Alica Arch
É possível fazer isso com Mysql sem extensões e vars?
Quero dizer, dada a entrada
NAME location
ANNA USA
Alica USA
Lisa CA
Arch CA
Ketty Germany
...
Eu quero resultado
USA CA Germany ...
Anna Lisa Ketty ...
Alica Arch
É possível fazer isso com Mysql sem extensões e vars?
Como o MySQL não tem uma função pivot integrada, você precisa construir dinamicamente a consulta SQL.
Usando
Obtemos o resultado
ROW_NUMBER()
atribui um número de linha exclusivo para cada nome dentro do mesmo local e precisamos que MAX não retorne apenas um resultado por local.Agora precisamos construir o SQL dinamicamente.
Observe que GROUP_CONCAT tem um limite de 1024 caracteres; aumente se necessário.
Veja o exemplo