Komplizierte MySQL-Abfrage

jenzi

Grünschnabel
Hallo,
ich brauche Hilfe bei einer komplizierten MySQL-Abfrage. Dabei weiß ich noch nicht mal, ob soetwas überhaupt möglich ist.

Um folgende Tabelle geht es:

----------------------------
| ID1 | ID2 | ID3 | Nummer |
----------------------------

Meine Abfrage soll erst in der ID1 nach dem Wert 1 suchen. Wenn er dort keine Zeile findet soll er nach ID1=6 suchen und wenn er den auch nicht findet, soll er nach der ID1=2 suchen.
Dann soll die Abfrage in der ID2 nach 1 suchen. Wenn er keine findet, wieder nach 6 und dann nach 2. Das gleiche mit ID3.
Das alles will ich möglichst in eine Abfrage packen:

SELECT * FROM tabelle WHERE
ID1=1 [WENN KEIN DATENSATZ MIT ID1=1] ID1=6 [WENN KEIN DATENSATZ MIT ID1=1 ODER ID1=6] ID1=2 AND
ID2=1 [WENN KEIN DATENSATZ MIT ID2=1] ID2=6 [WENN KEIN DATENSATZ MIT ID2=1 ODER ID2=6] ID2=2 AND
ID3=1 [WENN KEIN DATENSATZ MIT ID3=1] ID3=6 [WENN KEIN DATENSATZ MIT ID3=1 ODER ID3=6] ID3=2

Vieleicht kann mir ja jemand weiter helfen.
 
Meine Abfrage soll erst in der ID1 nach dem Wert 1 suchen. Wenn er dort keine Zeile findet soll er nach ID1=6 suchen und wenn er den auch nicht findet, soll er nach der ID1=2 suchen.
Dann soll die Abfrage in der ID2 nach 1 suchen. Wenn er keine findet, wieder nach 6 und dann nach 2. Das gleiche mit ID3.
Das alles will ich möglichst in eine Abfrage packen

Dazu Brauchst du nur eine einfache Sql Abfrage den Rest mußt du mit Php oder einer anderen Sprache lösen(IF Anweisung)(Sql ist nicht in der Lager ergebnisse auszuwerten)

Mach einfach folgendes:
Select Wert1 form ID1 where spalte=1; Du mußt das ganze natürlich dann durch deine splaten namen ersetzen

Dann liest du das ergebnis in eine Varible $ergebniss ist der wert der 1 abfrage so nun mußt du das ganze noch auswerten
mit einer If abfrage in php
IF (isset ($ergebniss)) {...// dann füre 2 Sql abfrage aus (soll er nach ID1=6 suchen )

und soweiter setzt du das Fort bist du alle Tabellen durch bist
 
Zurück