Lieber SQLite experte,
Mein Problem, bei dem Du mir evtl. helfen könntest:
In einer Datenbank mit weit über 1.000 Einträgen habe ich Personaldaten erfasst.
CREATE TABLE planung ( Bereich TEXT NOT NULL, Abteilung TEXT NOT NULL, Name TEXT NOT NULL, Vorname TEXT NOT NULL, EUR_Std INTEGER, Std_Mon INTEGER NOT NULL, Beginn INTEGER NOT NULL, Ende INTEGER NOT NULL, id INTEGER PRIMARY KEY AUTOINCREMENT, CONSTRAINT einmalig UNIQUE (Abteilung, Name, Vorname ,Std_Mon, Beginn , Ende ) )
Ich muss ermitteln, welche Kosten je Monat anfallen werden. Dazu verwende ich
CREATE VIEW „v_2011_10“ AS SELECT
Bereich ,
Abteilung,
Name,
Vorname ,
EUR_Std ,
Std_Mon ,
CASE WHEN Beginn „2011-12-31“ THEN „2011-12-31“ ELSE Ende END AS Ende
FROM planung
WHERE Beginn = „2011-12-01“
AND Name NOT NULL
Und dann
CREATE VIEW monatsweise AS SELECT
Bereich ,
Abteilung ,
Name ,
Vorname ,
EUR_Std ,
Std_Mon ,
strftime(’%Y-%m’,Beginn) AS KalMon ,
Beginn,
Ende,
julianday(Ende)-julianday(Beginn) +1 AS Tage , round(„€/Std“ * „Std/Mon“ * (julianday(Ende)-julianday(Beginn) +1) / strftime(’%d’,Beginn,‚start of month‘,’+1 month’,’-1 day’),2) AS Gehalt
FROM „v_2011_10“
UNION ALL
und das ganze noch und noch und noch einmal
Das finde ich aber viel zu umständlich.
Die betroffenen Monate kann ich ermitteln:
CREATE VIEW perioden AS SELECT
DISTINCT(date(Beginn,‚start of month‘)) AS mstart ,
date(Beginn,‚start of month‘,’+1 month’,’-1 day’) AS mende
FROM planung
ORDER BY mstart
Wie kann ich es in sqlite errreichen, dass ich die Monate aus perioden abarbeite und mir die obigen Daten automatisch in einen view einträgt?
In den beiden obigen Abfragen müsste dann irgendwie die Ergebnisse von mstart und mende verwendet werden können und dieser view abgearbeitet (Schleife) werden.
Ich bin jedenfalls schon einige Zeit mit meinem Latein am Ende.
ich hoffe ich habe mich nicht zu umständlich ausgedrück.
Leider kann ich nur den sqlite-Browsser in Firefox verwenden. ich darf keine Datenbank offiziell anwenden :-{
Du bist übrigens der einzige in wer-weiss-was mit sqlite.
gechse