sql 行变成列
发布网友
发布时间:2022-04-10 03:42
我来回答
共5个回答
热心网友
时间:2022-04-10 05:11
declare @s nvarchar(4000)
select @s=isnull(@s+',','')+quotename(Name)
from syscolumns where ID=object_id('aa')
order by Colid
exec('select id,name from aa unpivot (name for id in('+@s+'))b')
如图:
热心网友
时间:2022-04-10 06:29
楼主 声明一个变量 把列传给变量即可 行转列 有专门的函数的
下面是课程表 有列课程和分数
你参考这个例子 就可以了
declare @sql varchar(8000)=‘’
select @sql = isnull(@sql + '],[' , '') + 课程 from tb group by 课程
set @sql = '[' + @sql + ']'
exec ('select * from (select * from tb) a pivot (max(分数) for 课程 in (' + @sql + ')) b')
热心网友
时间:2022-04-10 08:04
SELECT mgr,
deptno,
MAX(decode(empno, '7788', ename, NULL)) "7788",
MAX(decode(empno, '7902', ename, NULL)) "7902",
MAX(decode(empno, '7844', ename, NULL)) "7844",
MAX(decode(empno, '7521', ename, NULL)) "7521",
MAX(decode(empno, '7900', ename, NULL)) "7900",
MAX(decode(empno, '7499', ename, NULL)) "7499",
MAX(decode(empno, '7654', ename, NULL)) "7654"
FROM emp
WHERE mgr IN (7566, 7698)
AND deptno IN (20, 30)
GROUP BY mgr, deptno
ORDER BY 1, 2;
你可以参考一下!
热心网友
时间:2022-04-10 09:55
select 1 from ..
union all
select 2 from ..
union all
select 3 from ..
...
...
;
热心网友
时间:2022-04-10 12:03
什么的sqlserver?