我可以根据PostgreSQL中的case语句来加入表

时间:2017-04-26 10:57:13

标签: postgresql join

我可以根据PostgreSQL中的case语句加入表。我已经在存储过程中编写了一个SQL,我在那个基础上传递了一个标志,我希望jon在表中。请参阅案例陈述,

JOIN lease_intervals li_active
    ON ( li_active.cid = l.cid AND l.id = li_active.lease_id AND
         l.active_lease_interval_id = li_active.id )
LEFT JOIN applications a
    ON ( a.cid = li.cid AND li.lease_id = a.lease_id AND
         a.lease_interval_id = li.id )
 **CASE
            WHEN pIsFromUI = TRUE
                       THEN JOIN property_integration_databases pid ON ( pid.cid = l.cid AND pid.property_id == l.property_id )
               JOIN integration_databases id ON ( id.id = pid.integration_database_id AND id.cid = pid.cid )
       ELSE
           1
END**

请告诉我上面是否有其他替代解决方案。

1 个答案:

答案 0 :(得分:0)

join
lease_intervals li_active on
    li_active.cid = l.cid and l.id = li_active.lease_id and
    l.active_lease_interval_id = li_active.id 
left join
applications a on
    a.cid = li.cid and li.lease_id = a.lease_id and
    a.lease_interval_id = li.id
left join
property_integration_databases pid on
    pid.cid = l.cid and pid.property_id = l.property_id and pisfromui
left join
integration_databases id on
    id.id = pid.integration_database_id and id.cid = pid.cid and pisfromui