将列名与实际数据相关联

时间:2013-09-25 13:15:43

标签: sql oracle

我必须加入FCT_M_INDEXSTG_M_INDEX,将数据填充到LKP_M_INDEX。 表结构为follows.LKP_M_INDEX,STG_M_INDEX中的每个列名都有索引号。我需要填写FACT。请指教。

 STG_M_INDEX            

**Day_Key     Dow_jones_Price   Dow_jones_Vol   Nasdaq_Closing_Price**
20130920       5312.37            5074030000              3796.28


LKP_M_INDEX         

**Index_no    Index_Name     Index_Data_value     STG_LKP_NAME**
1      Dow Jones     Price                          Dow_jones_Price
2      Dow Jones     Vol                            Dow_jones_Vol
3      Nasdaq        Price                          Nasdaq_Closing_Price
4      Nasdaq        Vol                            Nasdaq_Vol


FCT_M_INDEX         

**Day_Key   Index_Name  INDEX_SCENARIO             VALUE**
20130920     1            Dow_jones_Price          5312.37
20130920     2            Dow_jones_Vol            5074030000
20130920     3            Nasdaq_Closing_Price     3796.28
20130920     4            Nasdaq_Vol               2711270000

谢谢, 纳伦德拉

1 个答案:

答案 0 :(得分:1)

如果要将数据插入来自不同表格的表格中。

INSERT INTO InsertIntoTableName ( Column1, ... ColumnN) 
    SELECT Column1, ... ColumnN
    FROM DataFromTableName
        -- JOINS if required...
    --WHERE if required

根据您的情况:

SELECT Day_Key, Index_no, STG_LKP_NAME, Nasdaq_Closing_Price
FROM STG_M_INDEX, LKP_M_INDEX

这会执行所谓的CROSS JOIN小心使用它,因为它会导致非常大的结果集。