Frage wegen SQL-Syntax

  • Themenstarter Themenstarter Shlyakh
  • Beginndatum Beginndatum
S

Shlyakh

Guest
Bei mir ist gerade eine Frage aufgetreten. Ich habe mich gerade mit dem CASE-Statement bei MySQL abfragen beschäftigt.

Hier Switch Case Conditional Statement with MySQL | BIOSTALL ist es ja ganz gut erklärt.

Code:
select 

CASE Buchstabe 
   WHEN 'P' THEN 'B'
END as meinAlias

from tabelle

Gibt mir quasi jedes P als B aus.


Was ist aber, wenn ich jeden Buchstaben außer dem P als B haben will (das ist freilich nur ein Bsp.)


Derzeit löse ich es in etwa so:
Code:
select 

CASE BUCHSTABE 
   WHEN 'P' THEN 'B'
   WHEN 'B' THEN 'B'
   ELSE 'X'
END as meinAlias

from tabelle

WHERE Buchstabe <> 'X'

-- Jedes P wird zu B wird zu B und aus dem test werden dann nur die resultierenden Bs ausgegebben.

...was mich interessieren würde ist, ob es da syntaktischen Zucker gibt :)
 
Zuletzt bearbeitet:
Was ist aber, wenn ich jeden Buchstaben außer dem P als B haben will (das ist freilich nur ein Bsp.)

Code:
select 

CASE BUCHSTABE 
   WHEN 'P' THEN 'B'
   WHEN 'B' THEN 'B'
   ELSE 'X'
END as meinAlias

from tabelle

WHERE Buchstabe <> 'X'

-- Jedes P wird zu B wird zu B und aus dem test werden dann nur die resultierenden Bs ausgegebben.
...was mich interessieren würde ist, ob es da syntaktischen Zucker gibt :)

Kannst Du ja einfach so machen:
Code:
SELECT
    CASE WHEN 
        Buchstabe <> 'P'
    THEN
        'B'
    ELSE
        Buchstabe
    END as meinAlias
FROM
    Table
 
Zurück
Oben