SQL abfrage mit mehreren Bedingungen.

Patematthes

Mitglied
Hallo erstmal ich weiss nicht ob ich es an dieser Stelle richtig poste, aber ich will es mal versuchen.

Also ich habe zwei Tabellen einmal eine Auftragstabelle und einmal eine Pruefungstabelle, diese sind wie folgt mit Daten bestückt.

auftrag
ID (P)
ID_Baustellenleiter
....

pruefung
ID (P)
ID_Baustellenleiter
Datum
bestanden (Ja/nein)

In der Prüfungstabelle sollen alle je abgelegten Prüfungen gespeichert sein.
(P) steht für den Primärschlüssel.

So nun will ich daraus eine Abfrage machen.
Ich dachte dabei an mehrer If Anweisungen in der while schleife der Ausgabe, aber ich habe keine Ahnung ob das richtig ist.

Die ausgabe soll enthalten:

Alle Baustellenleiter welche in der Tabelle auftrag vorkommen und bei denen das Datum der letzten Prüfung älter als 12 Monate ist, wenn es neuer ist dann nur noch die welche nicht bestanden haben.

Irgendwie habe ich ein Brett vor dem Kopf und würde mich über Hilfe und Tips von eurer Seite aus freuen :)

Grüße
Matthias
 
Servus,

meiner Meinung nach brauchst Du eigentlich keine WHERE Klausel, die Bedingungen kann man alle in JOINS abfangen (ergibt ne bessere Laufzeit bei großen Datenmengen)

Probier mal folgendes:
Code:
select
  *
from
  auftrag
  join pruefung on pruefung.ID_Baustellenleiter = auftrag.ID_Baustellenleiter and (pruefung.Datum <= DATE_SUB(CURRENT_DATE(), INTERVAL 12 MONTH) or pruefung.bestanden = 0)

Achtung, ungeprüft (!)

In dem Beispiel sind MySQL Funktionen enthalten und ich gehe von einem logischen Feld für bestanden aus. Hast Du ein anderes DBMS, such Dir in der Doku die dort verfügbaren Funktionen raus.

Gruß

M.
 
Zuletzt bearbeitet:
Danke Quick_Mik

Du hast gerade ein Problem gelöst vor dem ich seit gestern Mittag gesessen bin :)

Tausend Dank :)

Gruss finzer
 

Neue Beiträge

Zurück