Zeiteingrenzung bei UNION ALL Befehl

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

oo-user-mit-problem
**
Beiträge: 48
Registriert: Di, 13.12.2011 12:19

Zeiteingrenzung bei UNION ALL Befehl

Beitrag von oo-user-mit-problem »

Hallo zusammen,

ich beschäftige mich gerade mit dem zusammenführen mehrerer gleichförmiger Tabellen. Das klappt im Grundsatz mit dem UNION ALL Befehl schon ganz gut (siehe angehängte DB). Nur an einer Stelle komme ich nicht weiter. ich möchte das Ergebnis der ABfrage "Abfrage_zusammen" zeitlich filtern können. In meiner echten DB habe ich das bei jeder Tabelle hinterlegt. Das würde aber beim Zusammenführen bedeuten: für jede Tabelle muss ich einen Start- und einen Endzeitpunkt eingeben. Das macht bei 5 Tabellen 10 Eingaben. Gibt es einen Weg wie ich die zeitliche Eingrenzung erst bei der Abfrage "Abfrage_zusammen" einbauen kann? Ich bin für jeden Hinweis dankbar.

Viele Grüße
oo-user-mit-problem
Dateianhänge
Test DB_UNION ALL.odb
(5.95 KiB) 66-mal heruntergeladen
RobertG
********
Beiträge: 2069
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Zeiteingrenzung bei UNION ALL Befehl

Beitrag von RobertG »

Ich würde das über eine Ansicht lösen. Mach einfach aus der kombinierten Abfrage aller Tabellen, die Du mit Union ALL erstellt hast, eine Ansicht. Greife auf diese Ansicht mit einer Abfrage zu:

Code: Alles auswählen

SELECT "Kunde", "Artikel", "Preis", "Startdatum", "Enddatum" FROM "Zusammen" WHERE "Startdatum" > '2010-01-01'
So würde dann die Abfrage aussehen, wenn die Ansicht "Zusammen" heißt.

Gruß

Robert
oo-user-mit-problem
**
Beiträge: 48
Registriert: Di, 13.12.2011 12:19

Re: Zeiteingrenzung bei UNION ALL Befehl

Beitrag von oo-user-mit-problem »

Hallo Robert,

das war genau der entscheidende Hinweis. DANKE!!!!!!!!! Jetzt habe ich mir für die Zeit noch eine Abfrage nach dem Muster

WHERE "Datum" >= :A_Startdatum AND "Datum" <= :B_Enddatum

drangebastelt. Und jetzt scheint es so zu laufen wie ich es wollte. Nochmals vielen Dank für Deine Hilfe!

Viele Grüße
oo-user-mit-problem (jetzt eins weniger ;-) )
Antworten