IF / ELSE Anweisung in SQL



  • Hi,

    ich habe dazu in der Doku nichts passendes gefunden, daher frag ich mal 🙂

    Also ich habe insgesammt 3 Tabellen, eine für Autoren, eine für angemeldete Member und eine für Übersichten.

    Jetzt gehe ich da mit Joints dran um die Querys zu verknüpfen, klappt wunderbar.

    Jetzt hat aber die übersichtstabelle einen int, der wenn 1 ist das die authoren-tabelle benutzt wird und wenn 0 die der member. Wie sähe das in einem Query aus? Geht das überhaupt?



  • Ich verstehe nicht ganz was du machen willst

    Wenns nur darum geht das bestimmte Benutzer auf bestimmte bereiche zugreifen können kannst du das recht bequem mit zugriffsrechten machen.



  • Also vorab, Joints solltest Du beim programmieren vermeiden, das ist kontraproduktiv...

    Falls es um Joins geht, müßtest Du das Problem mal näher beschreiben. Im Regelfall schränkt man Selects über Where-Bedingungen ein.

    SELECT
    *
    FROM xyz
    WHERE (IntFeld = 1)
    

    Statt der hartcodierten eins, kannst Du dort auch eine Variable einsetzen, die Du vor dem öffnen der Abfrage setzen mußt.



  • Du könntest mit "UNION" zwei SELECTs verknüpfen (eine selektiert nach 1, die andere nach 0), die Anzahl der ausgelesenen Spalten muss gleich und der Datentyp gleich oder implizit castbar sein.

    Eine andere Möglichkeit ist die Verwendung von Subqueries im SELECT ggf. in Zusammenhang mit einem CASE/WHEN/ELSE-Konstrukt o.ä. (falls vorhanden).


Anmelden zum Antworten