我有一个名为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是唯一的标识号,在两个表中都很常见。我真的很感激这个解决方案