0

請求書というテーブルがあります。この質問を簡単にするために、請求書には4つの列があると言います。

id                    (PK auto int)
booking_id            (int)
is_business_invoice   (1 or 0 or NULL)
amount                (decimal)

予約には複数の請求書を含めることができます。

特定の予約IDについて、それらがすべてビジネスの請求書であるか個人の請求書であるかを判断するクエリを作成しようとしています。異なるタイプの請求書が複数ある場合、is_business_invoiceデフォルトでnullになります。予約が3つあり、3つすべての場合、is_business_invoice1が返されます。

4

1 に答える 1

1
select case when count(is_business_invoice) = sum(is_business_invoice) 
            then 1 
            when sum(is_business_invoice) = 0
            then 0
            else null 
      end as IsBusinessInvoices
from invoices
group by booking_id
于 2012-06-06T15:31:59.687 に答える