Eine schöne Karwoche wünsche ich,
gibt es eine Möglichkeit, evtl. über einen Trigger, die zwischen zwei Daten liegenden Monate ermitteln, und in eine Tabelle eintragen zu lassen?
Ich habe eine Tabelle
[HIGHLIGHT=SQL]
CREATE TABLE "t_perioden" (
"periode" TEXT PRIMARY KEY NOT NULL UNIQUE ,
"periodelang" TEXT NOT NULL UNIQUE,
"p_beginn" DATETIME NOT NULL ,
"p_ende" DATETIME NOT NULL
)
[/HIGHLIGHT]
In dieser Tabelle steht z.B.:
[HIGHLIGHT=SQL]
INSERT INTO "t_perioden" ( periode , periodelang , p_beginn , p_ende ) VALUES ('p11/12','Winter 2011/2012','2011-10-01','2012-03-31');
INSERT INTO "t_perioden" ( periode , periodelang , p_beginn , p_ende ) VALUES ('p12','Sommer 2012','2012-04-01','2012-09-30');
[/HIGHLIGHT]
Mit diesem View lasse ich mir die Anzahl der Monate ausgeben.
[HIGHLIGHT=SQL]
CREATE VIEW "v_anzahlmonate" AS
SELECT
periode Periode,
STRFTIME('%m',( STRFTIME ('%J',p_ende , '+1 month' ) - STRFTIME ('%J',p_beginn))) Monate
FROM perioden
[/HIGHLIGHT]
Jetzt suche ich eine Möglichkeit, die je Periode betroffen Monate in einer weiteren Tabelle ausgeben zu lassen.
[HIGHLIGHT=SQL]
CREATE TABLE “t_monate” (
“id” INTEGER PRIMARY KEY,
“monat” DATETIME NOT NULL,
“periode” TEXT NOT NULL
)
[/HIGHLIGHT]
Diese Tabelle t_monate möchte ich automatisch nach Eingabe einer Periode in t_perioden gefüllt bekommen.
Wenn ich for oder while verwenden könnte wäre das ein leichtes, aber ohne geeignete Sprache. Denn: ganz wichtig, bis auf SQL kann ich keine Sprache verwenden (siehe Signatur).
Könntet Ihr mir hier weiterhelfen?
Und schon einmal „frohe Ostern“
Wolf-Tilmann
gibt es eine Möglichkeit, evtl. über einen Trigger, die zwischen zwei Daten liegenden Monate ermitteln, und in eine Tabelle eintragen zu lassen?
Ich habe eine Tabelle
[HIGHLIGHT=SQL]
CREATE TABLE "t_perioden" (
"periode" TEXT PRIMARY KEY NOT NULL UNIQUE ,
"periodelang" TEXT NOT NULL UNIQUE,
"p_beginn" DATETIME NOT NULL ,
"p_ende" DATETIME NOT NULL
)
[/HIGHLIGHT]
In dieser Tabelle steht z.B.:
[HIGHLIGHT=SQL]
INSERT INTO "t_perioden" ( periode , periodelang , p_beginn , p_ende ) VALUES ('p11/12','Winter 2011/2012','2011-10-01','2012-03-31');
INSERT INTO "t_perioden" ( periode , periodelang , p_beginn , p_ende ) VALUES ('p12','Sommer 2012','2012-04-01','2012-09-30');
[/HIGHLIGHT]
Mit diesem View lasse ich mir die Anzahl der Monate ausgeben.
[HIGHLIGHT=SQL]
CREATE VIEW "v_anzahlmonate" AS
SELECT
periode Periode,
STRFTIME('%m',( STRFTIME ('%J',p_ende , '+1 month' ) - STRFTIME ('%J',p_beginn))) Monate
FROM perioden
[/HIGHLIGHT]
Jetzt suche ich eine Möglichkeit, die je Periode betroffen Monate in einer weiteren Tabelle ausgeben zu lassen.
[HIGHLIGHT=SQL]
CREATE TABLE “t_monate” (
“id” INTEGER PRIMARY KEY,
“monat” DATETIME NOT NULL,
“periode” TEXT NOT NULL
)
[/HIGHLIGHT]
Diese Tabelle t_monate möchte ich automatisch nach Eingabe einer Periode in t_perioden gefüllt bekommen.
id | monat | periode |
0 | 2011-10-01 | p11/12 |
1 | 2011-11-01 | p11/12 |
2 | 2011-12-01 | p11/12 |
3 | 2012-01-01 | p11/12 |
4 | 2012-02-01 | p11/12 |
5 | 2012-03-01 | p11/12 |
6 | 2012-04-01 | p12 |
7 | 2012-05-01 | p12 |
8 | 2012-06-01 | p12 |
9 | 2012-07-01 | p12 |
10 | 2012-08-01 | p12 |
11 | 2012-09-01 | p12 |
Könntet Ihr mir hier weiterhelfen?
Und schon einmal „frohe Ostern“
Wolf-Tilmann
Comment