将一个表中的行值作为mySQL中子表中的列标题加载

时间:2017-03-05 21:31:58

标签: mysql sql

我有一个名为unduplicatedheadcount的表,它有大约50列。

我想创建一个子表,我想在其中包含原始表的特定列的三个值。

列名为EFFYLEV,值为1,2,4。

此表中还有另一个名为EFYTOTLT的列,所有这三个值都在此列中存储了一些特定的总数。

现在我创建了子表,其中EFFYLEV列的三个值(1,2,4)为三个不同的列,并将它们命名为EFFTLT_1,EFFTLT_2,EFFTLT_4。

现在我希望从列(EFYTOTLT)中EFFYLEV中的三个值的每个相应总数显示为子表中相应列的行值。

到目前为止我尝试了以下查询

INSERT INTO unduplicatedheadcount_final(UNITID, EFFTLT_1, EFFTLT_2, EFFTLT_4)
SELECT UNITID,
       (SELECT EFFYLEV from unduplicatedheadcount un where EFFYLEV= 1 and un.UNITID= u.UNITID),
       (SELECT EFFYLEV from unduplicatedheadcount un where EFFYLEV= 2 and un.UNITID= u.UNITID),
       (SELECT EFFYLEV from unduplicatedheadcount un where EFFYLEV= 4 and un.UNITID= u.UNITID)
FROM unduplicatedheadcount un
WHERE un.EFFYLEV = (1,2,4) 

我知道这个查询是错误的,所以我需要帮助。这里UNITID是唯一的标识号,在两个表中都很常见。我真的很感激这个解决方案

0 个答案:

没有答案