Sql postgres 9.6的合并和case-when语句

Sql postgres 9.6的合并和case-when语句,sql,coalesce,case-when,postgres-9.6,Sql,Coalesce,Case When,Postgres 9.6,我正在尝试回填一些数据。这个表中的A列可能来自于multiples表,我可以使用coalesce函数。如果coalesce返回null,那么我需要转到另一个表,根据该表中的值,我需要向该列插入一个硬编码的值 Backfill Table - T1 Backfill Column - Column A Coalesce Tables - TC2, TC3, TC4, TC5,TC6 Coalesce Columns - TC2.C2, TC3.C3, TC4.C4, TC5.C5,TC6.C6

我正在尝试回填一些数据。这个表中的A列可能来自于multiples表,我可以使用coalesce函数。如果coalesce返回null,那么我需要转到另一个表,根据该表中的值,我需要向该列插入一个硬编码的值

Backfill Table - T1
Backfill Column - Column A

Coalesce Tables - TC2, TC3, TC4, TC5,TC6
Coalesce Columns - TC2.C2, TC3.C3, TC4.C4, TC5.C5,TC6.C6

Another Table - AT1
Another Column - CAT1

If CAT1 = 21, then Column A should be 100
If CAT1 = 22, then Column A should be 200
If CAT1 = 23, then Column A should be 300
If CAT1 = 24, then Column A should be 400
假设有多个柱需要回填,此处未显示

INSERT INTO TABLE T1 (COLUMN A)
SELECT
coalesce (TC2.C2, TC3.C3, TC4.C4, TC5.C5,TC6.C6),
',
',
'
FROM A JOIN TC2 blah blah;
我只是不知道如何包含AT1表的条件或案例语句


编辑:我问的是合并语句中的case语句

你的问题不清楚。。试着添加一个合适的数据样本和导出的结果。我想这就是我想要的。谢谢
INSERT INTO TABLE T1 (COLUMN A)
    CASE 
        WHEN (SELECT coalesce (TC2.C2, TC3.C3, TC4.C4, TC5.C5,TC6.C6)) IS NOT NULL
        THEN  (SELECT coalesce (TC2.C2, TC3.C3, TC4.C4, TC5.C5,TC6.C6))
        WHEN AT1.CAT1 = '21' THEN '100'
        WHEN AT1.CAT1 = '22' THEN '200'
        WHEN AT1.CAT1 = '23' THEN '300'
        WHEN AT1.CAT1 = '24' THEN '400'
    END AS NEW_COLUMN_VALUE