永发信息网

SQL中表的行值如何通过查询以列属性的形式显示。

答案:1  悬赏:60  手机版
解决时间 2021-03-28 02:38
  • 提问者网友:留有余香
  • 2021-03-27 12:20
SQL中表的行值如何通过查询以列属性的形式显示。
最佳答案
  • 五星知识达人网友:罪歌
  • 2021-03-27 12:31
--分组使用case when 作行列转换 
Select 名称
,Case When Max(Case When 变量ID=1 Then 变量值  Else null End) as 变量ID1的值
,Case When Max(Case When 变量ID=2 Then 变量值  Else null End) as 变量ID2的值
,Case When Max(Case When 变量ID=3 Then 变量值  Else null End) as 变量ID3的值
Group By 名称如果不会改,给表结构追问我
追问

提示有错误啊
追答你的From呢?? 图上我没看到 。。额,好吧我的失误 我漏写了

Select 名称
,Case When Max(Case When 变量ID=1 Then 变量值 Else null End) as 变量ID1的值
,Case When Max(Case When 变量ID=2 Then 变量值 Else null End) as 变量ID2的值
,Case When Max(Case When 变量ID=3 Then 变量值 Else null End) as 变量ID3的值
From 你的表
Group By 名称追问
开始我是加了FROM 表的,提示错误,所以我删除了
现在加了还是报错,说有语法错误
追答不要Max前面的Case When ... 不好意思,写第一句後没注意后面直接复制的

Select 名称
,Max(Case When 变量ID=1 Then 变量值 Else null End) as 变量ID1的值
,Max(Case When 变量ID=2 Then 变量值 Else null End) as 变量ID2的值
,Max(Case When 变量ID=3 Then 变量值 Else null End) as 变量ID3的值
From 你的表 Group By 名称不要Max前面的Case When ... 不好意思,写第一句後没注意后面直接复制的

Select 名称
,Max(Case When 变量ID=1 Then 变量值 Else null End) as 变量ID1的值
,Max(Case When 变量ID=2 Then 变量值 Else null End) as 变量ID2的值
,Max(Case When 变量ID=3 Then 变量值 Else null End) as 变量ID3的值
From 你的表 Group By 名称
--------------------我去 又出bug了 我只回答了一次,成了2份-----------------------

.追问谢谢大神解答,非常感谢,问题应该是解决了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯