在Firebird中使用UNION ALL将列转换为行



我需要一个帮助来转换我的表。

我有一个名为";SizeTable";

名称 size1 size2 size 3
8 9 10

也许你可以试试:

Select A.name
,B.*
From  SizeTable A
Cross Apply ( values ('size1',size1)
,('size2',size2)
,('size3',size3)
) B(sizetype,sizeCode)

如果必须使用UNION ALL

Select Name,sizetype='size1',sizecode=size1 from SizeTable
Union All
Select Name,sizetype='size2',sizecode=size2 from SizeTable
Union All
Select Name,sizetype='size3',sizecode=size3 from SizeTable


最新更新