tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Yaslaw
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
897
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    krajisnik krajisnik ist offline Grünschnabel
    Registriert seit
    Mar 2011
    Beiträge
    2
    Hallo

    Ist es in SQL(SQLITE) möglich bedingte Abfragen ohne die WHERE-Klausel einzusetzen?

    Was ich meine ist folgener Fall:
    Code :
    1
    2
    3
    
    IF Spalte_A = NULL 
       THEN SELECT Spalte_B
    ELSE SELECT Spalte_A

    Wenn die Spalte_A keinen Wert hat dann soll alternativ die Nachbarsspalte Spalte_B ausgewählt werden, bei Spalte_C alternativ die Spalte_D usw.

    Vielleicht stand einer schon vor dem gleichen Problem dann wäre ich sehr dankbar für einen Tipp wie man sowas in SQL lösen kann.

    Vielen Dank schonmal.
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Kenne zwar SQLite nicht. Aber ein schneller Blick ins Handbuch
    http://www.sqlite.org/lang_expr.html#case

    Code :
    1
    2
    
        CASE x WHEN w1 THEN r1 WHEN w2 THEN r2 ELSE r3 END
        CASE WHEN x=w1 THEN r1 WHEN x=w2 THEN r2 ELSE r3 END
    krajisnik bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    krajisnik krajisnik ist offline Grünschnabel
    Registriert seit
    Mar 2011
    Beiträge
    2
    Vielen Dank yaslaw.

    Ich habe hauptsächlich nach IF und WHEN im Handbuch gesucht und habe das CASE total übersehen.
    Habe es jetzt hinbekommen, falls andere das Problem haben:

    Code :
    1
    2
    3
    
    select Spalte_X, (CASE WHEN Spalte_A IS NULL THEN Spalte_B
    ELSE Spalte_A END) as neueSpalte
    from Tabelle

    Gruß
     

  4. #4
    CPoly CPoly ist offline Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Oder wie ich es in MySQL machen würde (SQLite kennt es auch: http://www.sqlite.org/lang_corefunc.html#ifnull)

    Code sql:
    1
    
    SELECT IFNULL(Spalte_A, Spalte_B) FROM Tabelle
     

Ähnliche Themen

  1. Wenn Feld leer dann...
    Von dennis-sauer im Forum PHP
    Antworten: 4
    Letzter Beitrag: 17.10.08, 07:49
  2. Wenn Ausgabe = leer dann Meldung
    Von eugster im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 26.04.05, 20:12
  3. Wenn feld leer dann....
    Von aciddesigns_de im Forum PHP
    Antworten: 4
    Letzter Beitrag: 07.04.05, 14:39
  4. Wenn textfeld leer dann checkbox=cheked!
    Von webpagemaster im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 25.01.05, 12:20
  5. Bezeichnung wenn Spalte = nicht leer
    Von xony im Forum PHP
    Antworten: 1
    Letzter Beitrag: 24.08.04, 23:58

Stichworte