sql >> Database teknologi >  >> RDS >> Oracle

Oracle HVIS eksisterer SÅ, ANDET

Beregn først betingelsen, og anvend den derefter på den endelige SELECT ved hjælp af CASE . Noget som dette:

with temp (validexists) as
  (select count(column1)
   from table1
   where column1 in ('Yes') 
      and column2 not like '%Yes%'
  )
  select *
    into l_row
    from table1
    where column1 in ('Yes')
      and column2 in (select column2
                      from table1 cross join temp
                      where column1 in ('Yes')
                        and column2 not like case when validexists = 0 then '%Yes%'
                                                  else                      '%No%'
                                             end
                     );



  1. Sådan skriver du mysql-forespørgsel for at kontrollere flere variabelvalg, hvor formularindsendelse kan matche 1 0f 5 felter

  2. Forskellen mellem In memory-databaser og diskhukommelsesdatabase

  3. Hent poster, hvor json kolonnenøglen er null

  4. Vis resultater fra MySQL-forespørgsel i tabel ved hjælp af PHP