Abfrage von Werten abhängig von Datum

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Abfrage von Werten abhängig von Datum

SOLVED: Re: Abfrage von Werten abhängig von Datum

von wagnbeu0 » Di, 02.11.2010 16:09

So, das geeht durchaus, mein Oraccle hat mich mal wieder mittels CASE auf die richtige Richtung gebracht: CASE WHEN

Code: Alles auswählen

select "A"."Datum","A"."Ort",CASE WHEN(YEAR("A"."Datum"))=2010 then "B"."Uhrzeit_2010" else "B"."Uhrzeit_2011" END as "Uhrzeit"
from "Planung" as "A","Ort" as "B" where "A"."Ort"="B"."Ort";

Muss ich jetzt zwar die Abfrage eigentlich jedes Jahr anpassen, aber damit kann ich leben. Eine einfachere Lösung ist mir leider wwirklich nicht eingefallen...

Re: Abfrage von Werten abhängig von Datum

von wagnbeu0 » So, 31.10.2010 22:07

was meinst du mit zeilenweiser EIngabe?
wenn ich pro Veranstaltungsort eine Zeile habe, sich aber pro Jahr die Uhrzeit ändert, soll ich dann die Uhrzeit wieder ein eine extra Tabelle ausgliedern?
Ich verstehe das nicht ganz, wie sollte ich das denn aufsetzen, wenn sich pro Veranstaltungsort außer der Zeit nicht ändert? Die Zeit ändert sich fest im Jahresrythmus. Adresse etc. bleibt alles gleich.

Re: Abfrage von Werten abhängig von Datum

von Barlee » So, 31.10.2010 20:01

Hm, was genau verstehst Du nicht?

Re: Abfrage von Werten abhängig von Datum

von wagnbeu0 » So, 31.10.2010 19:58

Hm, was genau meinst du damit?

Re: Abfrage von Werten abhängig von Datum

von Barlee » So, 31.10.2010 19:31

Hallo,

wenn ich Dich richtig verstehe, möchtest Du ein Abfrageergebnis der Planungstabelle -YEAR(Datum)- als Spaltenreferenz für die Tabelle Ort nehmen?
Höchstwahrscheinlich wird das nicht funktionieren.
Vielmehr offenbart sich aus meiner Sicht eine Schwäche in Deinem DB Design. Anstatt die Daten für die verschiedenen Jahre (Zeit_2010, Zeit_2011) in separaten Spalten zu halten, solltest Du über eine zeilenweise Eingabe nachdenken. Darüber ließe sich dann sauber nach den erforderlichen Daten in der Tabelle Ort suchen.
Dein jetziger Tabellenaufbau verlangt immer nach Änderungen in der Tabellenstuktur (Hinzufügen neuer Spalten), wenn Du Daten über das Jahr 2011 hinaus erfassen möchtest.

Ich rate Dir, erstmal hier anzusetzen. Normalisierung usw. solltest Du beachten.

Gruß Barlee

Abfrage von Werten abhängig von Datum

von wagnbeu0 » So, 31.10.2010 18:13

Hallo, mal wieder beschäftigt mich das Datum in der Datenbank. Ich habe zwei Tabellen:

Tabelle Planung:
Feld Datum, Feldtyp Datum
weitere Felder ...

Tabelle Ort:
Feld Ort, Charakterfeld
Zeit_2010: Uhrzeit
Zeit_2011: Uhrzeit
... weitere Felder

So, ich will nun folgendes erreichen:
Bislang klappt die Abfrage auf beide Tabellen wunderbar. Abhängig vom Ort liefert er mir dazu die richtige Zeit, wann die Veranstaltung stattfindet. Jetzt habe ich aber festgestellt, dass sich der Zeitpunkt der Veranstaltung regelmäßig im Jahresrhythmus verändert.
Wenn ich einen Select auf das Feld Planung mache, soll er mir, falls das Datum im Jahr 2010 ist, die Uhrzeit aus dem Feld "Zeit_2010" aus der Tabelle Ort geben. Falls das Datum im Jahr 2011 ist, soll er die Uhrzeit aus dem Feld "Zeit_2011" aus der Tabelle Ort geben. Hintergrund ist, dass pro Ort sich die Zeiten im Jahresrythmus verändern.

Wie bekomme ich das am besten hin?

Nach oben