在表视图中创建一个列,其值基于另一个表中的一组行

时间:2016-03-16 05:54:17

标签: postgresql

我想创建一个表视图,并包含一个基于另一个表中的值的新列。

表B的许多行属于表A的一行。

表B有status列(值为activecompleted等)和外键(表A)。

在新表视图中(对于A)我想创建一个active列(true / false),该列基于表B中具有{{{ 1}} status的值和匹配的外键。

1 个答案:

答案 0 :(得分:1)

如果只是检查值是否存在,那么这应该完成工作

select  A.c1, 
        A.c2, 
        -- other columns from A
        case when exists (select 1 from B_Table B where A.FK = B.FK and B.status = 'active') 
            then 'true'
            else 'false'
        end as Active
from A_Table B