表格式化麻烦

时间:2015-05-07 15:26:57

标签: mysql sql

我只是想知道我是否可以获得一些代码来帮助转换这个表:

  ID                             Code      Procedure              
    2012146322968                  4         16830, 16830               
    2012146658928                  6         16837, 16837            

进入这一个:

ID              Code4   Procedures4     Code6       Procedures6
2012146322968   4       16830, 16830    NULL        NULL
2012146658928   NULL    NULL            6           16837, 16837    

非常感谢您的帮助,我正在努力学习SQL,因为我继续工作。我还是SQL的新手。我想我可能需要创建一个新的临时表,但它似乎不想在MySQL命令提示符下工作。

1 个答案:

答案 0 :(得分:1)

我不完全确定您为此使用了什么逻辑,或者该数据集是否足以创建适用于整个表格的查询,但您想要的内容是:< / p>

select id, 
       case when code = 4 then 4 end code4, 
       case when code = 4 then `procedure` end procedures4,
       case when code = 6 then 6 end code6,
       case when code = 6 then `procedure` end procedures6
from test

demo here

值得指出的是,如果存在除4或6之外的任何代码,这将产生奇怪的结果,因为我们在条件语句中专门检查这些值。