SQL-Abfrage mit statischen Werten
Hallo liebe Forumuser,
ich hätte folgendes Anliegen an euch.
Ich besitze eine Datenbank mit einer Tabelle´(ja keine realtion usw. ...).
In dieser Tabelle gibt es eine Spalte mit dem Namen (Abteilung). Ich lasse mir dann monatlich einen Report anzeigen. Dieser Report bezieht sich immer auf den aktuellen Zeitraum. Wenn in diesem Zeitraum eine Abteilung nicht auftaucht, weil diese in diesem Monat keine Einträge vorgenommen hat, wird die Abteilung im Report auch nicht angezeigt.
Wie kann ich trotzdem alle Abteilungen statisch anzeigen lassen, wenn keine Einträge vorhanden dann halt alles Null ?
Ich hoffe ihr könnt mir helfen.
Danke.
ich hätte folgendes Anliegen an euch.
Ich besitze eine Datenbank mit einer Tabelle´(ja keine realtion usw. ...).
In dieser Tabelle gibt es eine Spalte mit dem Namen (Abteilung). Ich lasse mir dann monatlich einen Report anzeigen. Dieser Report bezieht sich immer auf den aktuellen Zeitraum. Wenn in diesem Zeitraum eine Abteilung nicht auftaucht, weil diese in diesem Monat keine Einträge vorgenommen hat, wird die Abteilung im Report auch nicht angezeigt.
Wie kann ich trotzdem alle Abteilungen statisch anzeigen lassen, wenn keine Einträge vorhanden dann halt alles Null ?
Ich hoffe ihr könnt mir helfen.
Danke.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 68261
Url: https://administrator.de/contentid/68261
Ausgedruckt am: 25.11.2024 um 22:11 Uhr
3 Kommentare
Neuester Kommentar
Hi,
dein Problem lässt sich mit einem OuterJoin lösen..
Du selektierst alle Abteilungen in einem InlineView und joinst diese dann
mit deinem gewünschten Zeitraum mit einem OuterJoin.
So tauchen dann alle Abteilungen in der Ergebnismenge auf,
auch wenn sie bei deinem "normalen" Select über das Datum nicht auftauchen
Gruß,
pi
dein Problem lässt sich mit einem OuterJoin lösen..
Du selektierst alle Abteilungen in einem InlineView und joinst diese dann
mit deinem gewünschten Zeitraum mit einem OuterJoin.
So tauchen dann alle Abteilungen in der Ergebnismenge auf,
auch wenn sie bei deinem "normalen" Select über das Datum nicht auftauchen
SELECT *
FROM table t1,
( SELECT DISTINCT abteilung
FROM table ) abt
WHERE t1.datum BETWEEN :vondat AND :bisdat
AND t1.abteilung (+) = abt.abteilung
Gruß,
pi