sql server 里怎么行转列,动态列

转换成

如有帮助,请采纳!

 

使用case...when,具体参考下面这篇文章,有不懂的可以留言!

 

https://blog.csdn.net/qq_40891009/article/details/108565860?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162492796816780271539222%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=162492796816780271539222&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-1-108565860.pc_v2_rank_blog_default&utm_term=case&spm=1018.2226.3001.4450

 

select TJBH 
,'肝'=max(case when XMMC='肝' then JG else '' end) 
,'心音'=max(case when XMMC='心音' then JG else '' end) 
,'心率'=max(case when XMMC='心率' then JG else '' end) 
,'收缩压'=max(case when XMMC='收缩压' then JG else '' end) 
,'体重'=max(case when XMMC='体重' then JG else '' end) 
,'身高'=max(case when XMMC='身高' then JG else '' end) 
,'营养发育'=max(case when XMMC='营养发育' then JG else '' end) 
,'舒张压'=max(case when XMMC='舒张压' then JG else '' end) 
from @tb group by TJBH;

img

<span class="hljs-keyword">SELECT</span>
    d.TJBH ,
    MAX ( <span class="hljs-keyword">CASE</span> d.XMMC <span class="hljs-keyword">WHEN</span> <span class="hljs-string">'肝'</span> <span class="hljs-keyword">THEN</span> d.JG <span class="hljs-keyword">ELSE</span> <span class="hljs-string">''</span> <span class="hljs-keyword">END</span> ) 肝 ,
    MAX ( <span class="hljs-keyword">CASE</span> d.XMMC <span class="hljs-keyword">WHEN</span> <span class="hljs-string">'心音'</span> <span class="hljs-keyword">THEN</span> d.JG <span class="hljs-keyword">ELSE</span> <span class="hljs-string">''</span> <span class="hljs-keyword">END</span> ) 心音 ,
    MAX ( <span class="hljs-keyword">CASE</span> d.XMMC <span class="hljs-keyword">WHEN</span> <span class="hljs-string">'心率'</span> <span class="hljs-keyword">THEN</span> d.JG <span class="hljs-keyword">ELSE</span> <span class="hljs-string">''</span> <span class="hljs-keyword">END</span> ) 心率 ,
    MAX ( <span class="hljs-keyword">CASE</span> d.XMMC <span class="hljs-keyword">WHEN</span> <span class="hljs-string">'体重'</span> <span class="hljs-keyword">THEN</span> d.JG <span class="hljs-keyword">ELSE</span> <span class="hljs-string">''</span> <span class="hljs-keyword">END</span> ) 体重 ,
    MAX ( <span class="hljs-keyword">CASE</span> d.XMMC <span class="hljs-keyword">WHEN</span> <span class="hljs-string">'身高'</span> <span class="hljs-keyword">THEN</span> d.JG <span class="hljs-keyword">ELSE</span> <span class="hljs-string">''</span> <span class="hljs-keyword">END</span> ) 身高 ,
    MAX ( <span class="hljs-keyword">CASE</span> d.XMMC <span class="hljs-keyword">WHEN</span> <span class="hljs-string">'收缩压'</span> <span class="hljs-keyword">THEN</span> d.JG <span class="hljs-keyword">ELSE</span> <span class="hljs-string">''</span> <span class="hljs-keyword">END</span> ) 收缩压 ,
    MAX ( <span class="hljs-keyword">CASE</span> d.XMMC <span class="hljs-keyword">WHEN</span> <span class="hljs-string">'舒张压'</span> <span class="hljs-keyword">THEN</span> d.JG <span class="hljs-keyword">ELSE</span> <span class="hljs-string">''</span> <span class="hljs-keyword">END</span> ) 舒张压 ,
    MAX ( <span class="hljs-keyword">CASE</span> d.XMMC <span class="hljs-keyword">WHEN</span> <span class="hljs-string">'营养发育'</span> <span class="hljs-keyword">THEN</span> d.JG <span class="hljs-keyword">ELSE</span> <span class="hljs-string">''</span> <span class="hljs-keyword">END</span> ) 营养发育 
<span class="hljs-keyword">FROM</span>
    [dbo].[demo] d 
<span class="hljs-keyword">GROUP</span> <span class="hljs-keyword">BY</span>
    d.TJBH