Tag,
mir fällt dazu nichts Elegantes ein. Ich habe aber das Gefühl, es gibt was ... Any ideas?
hier kann man wieder korellierende unterabfragen anwenden, wenn dir das als tipp reicht. etwas knifflig wird es mit den start und den endwerten, aber das sollte man mit dem operator IF in den griff bekommen. wenn dir das nicht, sagt einfach bescheid.
Du meinst korrelierte Unterabfragen? An die hatte ich auch schon gedacht, aber irgendwie kam ich auf keinen grünen Zweig. Mir ist jetzt Folgendes eingefallen:
SELECT vat, PERIOD_DIFF(
EXTRACT(YEAR_MONTH FROM GREATEST(date1, start)
, EXTRACT(YEAR_MONTH FROM LEAST(date2, (SELECT start - INTERVAL 1 MONTH FROM vat WHERE start > vat2.start ORDER BY start LIMIT 1))))
) FROM vat AS vat2
Hier spart man sich IF durch die Benutzung von GREATEST() und LEAST(); die Unterabfrage sollte das Ende des Gültigkeitszeitraumes des gerade betrachteten Mehrwertsteuersatzes herausfinden. Leider kann ich das gerade nicht testen, muss ich später mal machen.
Was sagst du dazu?
Bye,
Peter