是否可以像这样进行查询?

Idr*_*dro 7 mysql sql pivot

我在mySQL db上有这样的表:

Olimpiade     Sport        Disciplina   Categoria
---------------------------------------------------
London 2012   Athletics    100m         men
London 2012   Athletics    100m         woman
Beijing 2008  Athletics    200m         men
Beijing 2008  Athletics    200m         women
Athens 2004   Athletics    800m         men
Athens 2004   Athletics    800m         women
Run Code Online (Sandbox Code Playgroud)

等等.我不知道我是否可以设置这样的查询,但我想得到的结果如下:

Disciplina   Categoria   London 2012    Beijing 2008   Athens 2004
------------------------------------------------------------------
100m         men         yes            no             yes
100m         women       yes            yes            no
200m         men         yes            no             yes
200m         women       yes            yes            no
800m         men         yes            yes            yes
800m         women       yes            yes            yes
Run Code Online (Sandbox Code Playgroud)

那就是奥林匹克版的试验是否存在.

dig*_*tai 3

是的,你可以这样使用 CASE,

Select Disciplina, Categoria, 
CASE when Olimpiade = 'London 2012' then 'yes' else 'no' end as 'London 2012', 
CASE when Olimpiade = 'Beijing 2008' then 'yes' else 'no' end as 'Biejing 2008',
CASE when Olimpiade = 'Athens 2004' then 'yes' else 'no' end as 'Athens 2004'    from tableName group by Disciplina, Categoria order by Disciplina, Categoria
Run Code Online (Sandbox Code Playgroud)