Seite 1 von 1

Re: Daten aus zwei Tabellen vergleichen (case when)

Verfasst: Fr, 02.04.2010 11:30
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

Re: Daten aus zwei Tabellen vergleichen (case when)

Verfasst: Mo, 05.04.2010 00:45
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