von nehemia » So, 08.09.2019 11:41
Hallo Forum,
Mein Ziel:
Einen Bericht zu erstellen aufgrund einer Abfrage, die auf mehreren Kriterien beruht, und entsprechend zu filtern ist.
Ausgangssituation:
Ich habe eine Abfrage erstellt, die auf unterschiedlichen Tabellen beruht.
1. t_name mit u.a. den Feldern id, famname, rufname, etc.
2. t_jahrestag mit den Feldern id, jahrestag (soll Geburtstag, Rentenbeginn, Todestag, etc. beinhalten)
3. t_n_zu_j (name zu jahrestag) mit den Feldern id_name, id_jahrestag und jdatum (soll Jahrestagdatum beinhalten)
Zunächst möchte ich ein Kriterium abfragen, nämlich das Kriterium ‘Geburtstag‘, so dass mir als Ergebnis alle Geburtstagsdaten geliefert werden. In SQL sieht das dann bei mir folgendermaßen aus:
SELECT "t_namen"."famname" "Familienname", "t_namen"."rufname" "Rufname", "t_jahrestag"."jahrestag" "Jahrestag", "t_n_zu_j"."datum" "Datum"
FROM "t_n_zu_j"
RIGHT OUTER JOIN "t_namen" ON "t_n_zu_j"."id_namen" = "t_namen"."id"
LEFT OUTER JOIN "t_jahrestag" ON "t_n_zu_j"."id_jahrestag" = "t_jahrestag"."id"
WHERE "t_jahrestag"."jahrestag" = 'Geburtstag'
ORDER BY "Familienname" ASC, "Rufname" ASC
Wenn ich jetzt weitere Kriterien abfragen möchte, zum Beispiel ‘Rentenbeginn‘ und ‘Test‘, dann sieht das in SQL bei mir so aus:
SELECT "t_namen"."famname" "Familienname", "t_namen"."rufname" "Rufname", "t_jahrestag"."jahrestag" "Jahrestag", "t_n_zu_j"."datum" "Datum" FROM "t_n_zu_j"
RIGHT OUTER JOIN "t_namen" ON "t_n_zu_j"."id_namen" = "t_namen"."id"
LEFT OUTER JOIN "t_jahrestag" ON "t_n_zu_j"."id_jahrestag" = "t_jahrestag"."id"
WHERE ( "t_jahrestag"."jahrestag" = 'Geburtstag' OR "t_jahrestag"."jahrestag" = 'Rentenbeginn' OR "t_jahrestag"."jahrestag" = 'Test' )
ORDER BY "Familienname" ASC, "Rufname" ASC
Soweit so gut. Wenn ich jetzt einen Bericht erstellen möchte, kann ich die einzelnen Kriterien filtern. Der Punkt ist nur, dass der Bericht, mir bei jedem Kriterium, welches hinzukommt, den ganzen Datensatz nochmal liefert, anstatt nur einmal den gesamten Datensatz und dann jedes weitere Kriterium zum bestehenden Datensatz hinzuzufügen und nur das.
Wie kann ich das anstellen? Kann mir jemand weiterhelfen?
Gruß Martin
Hallo Forum,
Mein Ziel:
Einen Bericht zu erstellen aufgrund einer Abfrage, die auf mehreren Kriterien beruht, und entsprechend zu filtern ist.
Ausgangssituation:
Ich habe eine Abfrage erstellt, die auf unterschiedlichen Tabellen beruht.
1. t_name mit u.a. den Feldern id, famname, rufname, etc.
2. t_jahrestag mit den Feldern id, jahrestag (soll Geburtstag, Rentenbeginn, Todestag, etc. beinhalten)
3. t_n_zu_j (name zu jahrestag) mit den Feldern id_name, id_jahrestag und jdatum (soll Jahrestagdatum beinhalten)
Zunächst möchte ich ein Kriterium abfragen, nämlich das Kriterium ‘Geburtstag‘, so dass mir als Ergebnis alle Geburtstagsdaten geliefert werden. In SQL sieht das dann bei mir folgendermaßen aus:
SELECT "t_namen"."famname" "Familienname", "t_namen"."rufname" "Rufname", "t_jahrestag"."jahrestag" "Jahrestag", "t_n_zu_j"."datum" "Datum"
FROM "t_n_zu_j"
RIGHT OUTER JOIN "t_namen" ON "t_n_zu_j"."id_namen" = "t_namen"."id"
LEFT OUTER JOIN "t_jahrestag" ON "t_n_zu_j"."id_jahrestag" = "t_jahrestag"."id"
WHERE "t_jahrestag"."jahrestag" = 'Geburtstag'
ORDER BY "Familienname" ASC, "Rufname" ASC
Wenn ich jetzt weitere Kriterien abfragen möchte, zum Beispiel ‘Rentenbeginn‘ und ‘Test‘, dann sieht das in SQL bei mir so aus:
SELECT "t_namen"."famname" "Familienname", "t_namen"."rufname" "Rufname", "t_jahrestag"."jahrestag" "Jahrestag", "t_n_zu_j"."datum" "Datum" FROM "t_n_zu_j"
RIGHT OUTER JOIN "t_namen" ON "t_n_zu_j"."id_namen" = "t_namen"."id"
LEFT OUTER JOIN "t_jahrestag" ON "t_n_zu_j"."id_jahrestag" = "t_jahrestag"."id"
WHERE ( "t_jahrestag"."jahrestag" = 'Geburtstag' OR "t_jahrestag"."jahrestag" = 'Rentenbeginn' OR "t_jahrestag"."jahrestag" = 'Test' )
ORDER BY "Familienname" ASC, "Rufname" ASC
Soweit so gut. Wenn ich jetzt einen Bericht erstellen möchte, kann ich die einzelnen Kriterien filtern. Der Punkt ist nur, dass der Bericht, mir bei jedem Kriterium, welches hinzukommt, den ganzen Datensatz nochmal liefert, anstatt nur einmal den gesamten Datensatz und dann jedes weitere Kriterium zum bestehenden Datensatz hinzuzufügen und nur das.
Wie kann ich das anstellen? Kann mir jemand weiterhelfen?
Gruß Martin