Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zapytanie z wieloma instrukcjami CASE - optymalizacja

Dla mnie wygląda to na nieudaną próbę pisania podrzędnego. To jest to, co myślę, że teraz masz.

W zależności od modelu powinny działać następujące funkcje:

;
with
q_00 as (
    select
         pa.Deal_Id                                                             as Deal_Id
       , coalesce(sp.BROJ_TIKETA, fw.BROJ_TIKETA, sw.tiket, ia.BROJ_TIKETA, '') as Ticket_No
       , coalesce(sp.Trans_Id, fw.Trans_Id, sw.Trans_Id, ia.Trans_Id)           as Trans_Id
    from #PotencijalniAktuelni as pa
    left join kplus_sp         as sp on sp.sp_Id = pa.Deal_Id and pa.KplusTable_Id = 1
    left join kplus_fw         as fw on fw.fw_Id = pa.Deal_Id and pa.KplusTable_Id = 2        
    left join dev_sw           as sw on sw.sw_Id = pa.Deal_Id and pa.KplusTable_Id = 3
    left join kplus_ia         as ia on ia.ia_Id = pa.Deal_Id and pa.KplusTable_Id = 4
)
select
      Deal_Id
    , max(Trans_Id) as TransId_CurrentMax
into #MaxRazlicitOdNull
from  q_00
where Ticket_No <> ''
group by Deal_Id ;

SQL Server 2005 +



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa Z WYJĄTKIEM w SQL Server

  2. Coldfusion:Radzenie sobie z wartościami Null w polu daty

  3. Tworzenie kolumny wyliczanej w SQL Server 2008

  4. Aktualizowanie wartości ciągów w tabeli, która ma być przerzucana, takich jak ciąg YYYYMMDD do ciągu MMDDYYYY

  5. Jak wykonać wstawianie i zwracanie wstawionej tożsamości za pomocą Dappera?