Daten aus zwei Tabellen vergleichen (case when)

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: Daten aus zwei Tabellen vergleichen (case when)

Beitrag von Barlee »

Hallo theo66,
Base zeigt mir zwar die gewünschten Datensätze an, ruft aber zusätzlich auch Datensätze mit gleichem Datum auf auf die nicht stimmen, also mal mit einer 0 statt einer 1.
Und genau dieses Verhalten legst Du ja mit "ELSE '0'" fest. Lasse dieses einfach weg und es werden nur Datensätze ausgegeben, die allen Bedingungen entsprechen.

Gruß Barlee
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: Daten aus zwei Tabellen vergleichen (case when)

Beitrag von Barlee »

Hallo Theo,

ich glaube allmählich zu verstehen, was Du meinst.
Wenn Du mittels CASE WHEN die Auswahl an Datensätzen steuern möchtest (mit der Bedingung, dass CASE WHEN eine 1 zurückgibt), dann musst Du diese in die WHERE Klausel setzen; also:

Code: Alles auswählen

... WHERE
case 
when "Zeit_Datum"."Anfangsdatum" = "Zeit_Datum"."Enddatum" 
and "Zeit_Datum"."Anfangsdatum" = "Bewegliche_Feiertage"."Feiertag" 
then '1' else '0' 
end = 1
In dem Fall würde es dann aber auch folgendes tun:

Code: Alles auswählen

... 
WHERE "Zeit_Datum"."Anfangsdatum" = "Zeit_Datum"."Enddatum" 
AND "Zeit_Datum"."Anfangsdatum" = "Bewegliche_Feiertage"."Feiertag" 
Mit anderen Worten: Ich vermute, dass Du für Deine Aufgabenstellung kein CASE WHEN benötigst. Setze die JOIN Bedingungen einfach in die WHERE Klausel wie im letzten Beispiel aufgezeigt.
Ist es das, was Du suchst?

Gruß Barlee
Antworten