T-SQL用于循环遍历列名和插入

时间:2013-03-10 16:28:20

标签: sql-server tsql loops insert data-warehouse

我正在研究数据仓库项目,而且我一直困扰着,我需要在维度表中循环遍历列名,并选择与我的基础数据表中的特定列名相对应的值(具有实际数据的那个) ,我想插入事实表)。这是我的表结构:

数据表

closing_course | max_course | min_course
234            | 241        | 187
254            | 277        | 198

尺寸表

course_id | course_type
1         | closing_course
2         | max_course
3         | min_course

简而言之,我想构建一个过程,对于每个课程类型,它将获得每个课程的VALUE并在FACT TABLE中插入course_id和相应的值(在其他维度数据中,但我认为我可以处理)。

1 个答案:

答案 0 :(得分:0)

我不太确定你在寻找什么,也许你可以展示一个例子,你想要实现什么。这是一个可能的解决方案:

INSERT INTO FactTable (courseId,value)
SELECT 1, closing_course FROM DataTable
UNION
SELECT 2, max_course FROM DataTable
UNION
SELECT 3, min_course FROM DataTable