Anita: spezielle SQL-Abfrage

Hallo zusammen,

ich habe folgendes Problem bzw. möchte folgendes wenn möglich in einem SQL-String abfragen:

  • alle Datensätze, bei denen "score" > 100 ist
  • Ausnahme wenn "status" = 1, dann "score" > 50

Also ungefähr so:
SELECT * FROM table
WHERE (status!=1 AND score > 100)
OR (status=1 AND score > 50)

Geht das (ohne Subselects)?

Dank euch!
Anita

  1. Also ungefähr so:
    SELECT * FROM table
    WHERE (status!=1 AND score > 100)
    OR (status=1 AND score > 50)

    Geht das (ohne Subselects)?

    ja - du musst je nach DMBS an der Syntax feilen mit != wirst du idR. Probleme haben, ggf. könnte dich NOT() interessieren.

  2. Hallo Anita,

    • alle Datensätze, bei denen "score" > 100 ist
    • Ausnahme wenn "status" = 1, dann "score" > 50
      
    
    > SELECT * FROM table  
    > WHERE (status!=1 AND score > 100)  
    > OR (status=1 AND score > 50)
    
    

    wenn bei Deinem Datenbankmanagementsystem != der Ungleichheitsoperator ist, dann sollte dies korrekt sein. Überprüfe es mit einem Client Deiner Wahl.

    Freundliche Grüße

    Vinzenz

  3. Ich sehe hier kein Subselect?
    Wie Vinzent schon sagte, das könnte doch passen. Oder wo liegt das Problem?