2

次のようなクエリがあります。

ここに画像の説明を入力

そして、将来の予約ですべてのクライアントに「はい」を取り戻したい.

ここに画像の説明を入力

以下を使用して、将来の各予約に対して「はい」を戻すのは比較的簡単です。

Case [DepartDate] 
When [Departdate] > getdate() then 'Yes' else 'no'
End AS 'Future booking?'

..しかし、将来の予約ですべてのクライアントに対して「はい」を返す方法に行き詰まっています(出力行の予約に関係なく)。

誰でも助けることができますか?

4

4 に答える 4

0

これは特に、client_id と depart_date にインデックスがある場合にうまく機能します。

        select b.booking_id, 
        b.client_id, 
        b.depart_date, 
        case when future_booking.client_id is null then 'No' 
             else 'Yes' end as HasFuture
        from booking b
        left join   
           (select distinct client_id
                      from booking  
                      where depart_date > GETDATE() 
            ) as future_booking
        on b.client_id = future_booking.client_id
于 2013-10-01T17:05:23.547 に答える