使用IN时的case语句语法

时间:2017-04-19 06:19:24

标签: sql

select distinct 
    i.legacydatetime,
    i.legacypatientreceivablespatientid,
    bs.invoiceid,
    billingserviceid,
    case 
       when billingserviceid not in (select billingserviceid 
                                     from model.billingservices 
                                     where id not in (select billingserviceid 
                                                      from model.adjustments 
                                                      where billingserviceid is not null)) 
         then bs.unit * bs.unitcharge  
         else  bs.unit * bs.unitcharge + total_amount 
     end as Open_Balance

我有2个表model.billingservicesmodel.adjustments,其中billingservices表的id是adjustments表中的外键billingserviceid

我想将这些id与billingservices表隔离,调整表中没有这样的内容,因此我需要应用一些条件,否则如果调整表中有id,则需要应用其他条件

1 个答案:

答案 0 :(得分:2)

billingserviceid not in (select * from model.billingservices....

在这里,您使用*将billingserviceid与model.billingservices表的多列进行比较。提及您要与billingserviceid进行比较的单个列名称。 *将返回所有列值。