【发布时间】:2009-04-27 17:55:13
【问题描述】:
我有一张这样的桌子: 财政年度、地区、国家、办公室1、办公室2、办公室3、办公室4
office 1-4 是外键。
我想得到这样的输出: 办公室 1:财政年度、地区、国家 办公室 2:财政年度、地区、国家 办公室 3:财政年度、地区、国家 办公室 4:财政年度、地区、国家
这可以使用枢轴完成吗?
【问题讨论】:
标签: sql sql-server foreign-keys pivot
我有一张这样的桌子: 财政年度、地区、国家、办公室1、办公室2、办公室3、办公室4
office 1-4 是外键。
我想得到这样的输出: 办公室 1:财政年度、地区、国家 办公室 2:财政年度、地区、国家 办公室 3:财政年度、地区、国家 办公室 4:财政年度、地区、国家
这可以使用枢轴完成吗?
【问题讨论】:
标签: sql sql-server foreign-keys pivot
我认为这更像是 UNPIVOT:
SELECT [Fiscal Year], Region, County, OFfice
FROM
(SELECT [Fiscal Year], Region, County, OFfice1, Office2, Office3, Office4
FROM unpvt) p
UNPIVOT
(yourtable FOR Office IN
(Office1, Office2, Office3, Office4)
) AS unpvt;
但是你也可以通过一个简单的查询来做到这一点:
select [Fiscal Year], Region, County, OFfice1
from yourtable
union
select [Fiscal Year], Region, County, OFfice2
from yourtable
union
select [Fiscal Year], Region, County, OFfice3
from yourtable
union
select [Fiscal Year], Region, County, OFfice4
from yourtable
【讨论】: