Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Spaltenwahl wenn NULL

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von Progi, 17 September 2013.

  1. Progi

    Progi Benutzer

    Hallo zusammen

    Habe ein kleines Problem mit einem Select.

    Ich habe eine Tabelle mit zwei Spalten.
    • Name1
    • Name2
    In dieser Tabelle habe ich folgendes stehen:
    Müller;Meier
    NULL;Fischer
    etc.

    Nun habe ich ein Select wie folgt:

    SELECT Name1 AS RESULT FROM namen

    Nun möchte ich den Select so erweitern, dass wenn im Name1 NULL steht der Name2 ausgegeben wird.

    Ich danke für die Hilfe.
    Gruss Progi
     
  2. akretschmer

    akretschmer Datenbank-Guru

    COALESCE ist Dein Freund:

    Code:
    test=*# create table progi (name1 text, name2 text);
    CREATE TABLE
    Time: 6,436 ms
    test=*# copy progi from stdin;
    Enter data to be copied followed by a newline.
    End with a backslash and a period on a line by itself.
    >> max  mustermann
    >> \N  sorglos
    >> \.
    Time: 18815,641 ms
    test=*# select coalesce(name1, name2) from progi;
     coalesce
    ----------
     max
     sorglos
    (2 rows)
    
    Sollte in jeder gut sortierten Datenbank so oder so ähnlich gehen ;-)
    (coalesce ist IMHO SQL-Norm)
     
  3. ukulele

    ukulele Datenbank-Guru

    Ich hätte es jetzt mit isnull() gemacht.
    Code:
    SELECT    isnull(spalte1,spalte2) AS [Name]
    FROM    tabelle
     
  4. Progi

    Progi Benutzer

    Hallo zusammen

    Danke hat beides funktioniert.

    Gruss Progi
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden