T-SQL for 循环遍历列名并插入

Posted

技术标签:

【中文标题】T-SQL for 循环遍历列名并插入【英文标题】:T-SQL for loop through column names and insert 【发布时间】:2013-03-10 16:28:19 【问题描述】:

我正在做数据仓库项目,我被困在了那个时刻,我需要遍历维度表中的列名并选择与我的基础数据表中特定列名相对应的值(具有实际数据的表) ,我想插入事实表)。这是我的表结构:

数据表

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

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

【问题讨论】:

我不明白你的问题。您已经将课程值作为衡量标准(我认为)放入事实表中,那么为什么还需要这里的维度呢?您是否尝试在报告工具中动态构建查询?查看一些 DDL 以明确显示事实表和维度表的外观以及您目前拥有的任何查询代码会很有帮助。 【参考方案1】:

我不太确定您在寻找什么,也许您可​​以举个例子来说明您想要实现什么。这里有一些可能的解决方案:

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

【讨论】:

以上是关于T-SQL for 循环遍历列名并插入的主要内容,如果未能解决你的问题,请参考以下文章

循环遍历 R 中列名的特定子集

循环遍历 pandas 列名以创建列表

使用T-SQL语句操作数据表-插入数据

SQLServer之T-SQL增删改查

如何遍历表的列名并将值传递给 MSSQL while 循环中的 UDF

入门Mysql命令总结!!!