Frage

Hallo Ich möchte einige Abfrage haben, wie

Select 
 case column1
  when column2 like '%Test%' then column 3
  else 0
 end
FROM myTable

in column2 gibt es Varchars gespeichert. Kann mir jemand dabei helfen?

War es hilfreich?

Lösung

Das macht nicht viel Sinn machen. Warum tun Sie einen Fall auf column1 aber völlig diesen Wert danach ignorieren? Haben Sie einfach kopieren und (w) einfügen, die in Ihre Anfrage?

Wie auch immer, das ist, was ich erwarten würde in einem der gewöhnlichen RDBMS arbeiten ':

case
  when colum2 like ...then
    3
  else
    0
  end as abc

Allerdings ist die einzige Sache, die ich von mySQL wissen ist, dass es in der Regel alles tut anders als die durchschnittlichen Joe RDMS sie tun würde.

Andere Tipps

Wollen Sie so etwas wie ...

Select column3 from myTable where column2 like '%Test%'  
union all  
select 0 from myTable where column2 not like '%Test%'

Beachten Sie, dass der „nicht wie“ Operator kann langsam sein

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top