Есть ли способ объединить эти два простых запроса - PullRequest
2 голосов
/ 31 января 2012

Я уверен, что смешно думать, что это возможно, но есть ли способ объединить эти два запроса?

Запрос № 1:

select distinct 
    count(l.lease_id) as 'Count_Transactions_ALL', 
    sum(l.net_area) as 'Total_Area_ALL'
from
    lease_deal.lease l
where
    l.deal_approved_date >= @dateFrom   
    and l.deal_approved_date  <= @dateTo
    and l.lease_status in(@leaseStatus)

Запрос № 2:

select distinct 
    count(l.lease_id) as 'Count_Transactions_NEW', 
from
    lease_deal.lease l
where
    l.deal_approved_date >= @dateFrom   
    and l.deal_approved_date  <= @dateTo
    and l.lease_status in(@leaseStatus)
    and l.negotiation_type = 'NEW'

Мой желаемый результат будет:

Count_Transactions_ALL, Total_Area_All, Count_Transactions_NEW

x, y, z

Ответы [ 2 ]

8 голосов
/ 31 января 2012

Попробуйте что-то вроде этого:

select 
    count(l.lease_id) as 'Count_Transactions_ALL', 
    sum(l.net_area) as 'Total_Area_ALL',
    sum(case l.negotiation_type 
        when 'NEW' then 1 else 0 end) 
    as Count_Transactions_NEW
from
    lease_deal.lease l
where
    l.deal_approved_date >= @dateFrom   
    and l.deal_approved_date  <= @dateTo
    and l.lease_status in(@leaseStatus)
1 голос
/ 31 января 2012
select distinct 
        count(l.lease_id) as 'Count_Transactions_ALL', 
        sum(l.net_area) as 'Total_Area_ALL', 
       sum( if(l.negotiation_type = 'NEW', 1, 0)) as 'Count_Transactions_New'
    from
        lease_deal.lease l
    where
        l.deal_approved_date >= @dateFrom   
        and l.deal_approved_date  <= @dateTo
        and l.lease_status in(@leaseStatus)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...