sql >> Databasteknik >  >> RDS >> Sqlserver

Fråga med många CASE-satser - optimering

För mig ser det här ut som ett misslyckat försök att underskriva. Det här är vad jag tror att du har nu.

Baserat på modellen bör följande fungera:

;
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. cx_Oracle med Windows-autentisering

  2. Använder sekventiella värden för primärnyckeln i en INSERT-fråga

  3. PHP PDO förberedd sats -- MySQL LIKE-fråga

  4. mysql långsam vid den första frågan, sedan snabb för relaterade frågor