Wolf-Tilmann
Aktiver Benutzer
- Beiträge
- 35
Hallo zusammen,
ich hätte wieder einmal ein Problem bei dem ich Eure Hife benötige:
Ich habe zwei Tabellen. Eine mit Plan- und eine mit Ist-daten.
In der Tabelle plandaten sind logischwerweise die Planungen; in der Tabelle istdaten die tatsächlich entstandenen Daten. Da wir das etwas großzügig handhaben müssen stimmen die Zeiten nicht immer überein. Es gibt Vorauszahlungen, dann ist der Zeitpunkt in plandaten.beginn vor dem Zeitpunkt istdaten.periode; es gibt Nachzahlungen (plandaten.beginn nach istdaten.periode); meist erfolgen die Zahlungen aber pünktlich (plandaten.beginn = istdaten.periode).
Meine Aufgabe ist es jetzt die Plan- und Ist-daten je Person in einem View einander gegenüberzustellen.
Bei Vorauszahlungen beginnt die Auflisttung mit istdaten.periode; bei Regel- und Nachzahlungen mit dem Wert aus plandaten.beginn.
Aus den gegebenen Umständen heraus können die Tabellen lediglich verknüpft werden über
plandaten.namegp = istdaten.namegp.
Ich habe ein ganz einfaches Beispiel hier als SQL beigefügt.
(Die Tabellen sind so natürlich nicht vollständig)
Die Tabelle vergleich soll ein View werden.
Vielen Dank schon einmal für jegliche Hilfe
Wolf-Tilmann
Ach ja: Datenbank: SQLite
ich hätte wieder einmal ein Problem bei dem ich Eure Hife benötige:
Ich habe zwei Tabellen. Eine mit Plan- und eine mit Ist-daten.
In der Tabelle plandaten sind logischwerweise die Planungen; in der Tabelle istdaten die tatsächlich entstandenen Daten. Da wir das etwas großzügig handhaben müssen stimmen die Zeiten nicht immer überein. Es gibt Vorauszahlungen, dann ist der Zeitpunkt in plandaten.beginn vor dem Zeitpunkt istdaten.periode; es gibt Nachzahlungen (plandaten.beginn nach istdaten.periode); meist erfolgen die Zahlungen aber pünktlich (plandaten.beginn = istdaten.periode).
Meine Aufgabe ist es jetzt die Plan- und Ist-daten je Person in einem View einander gegenüberzustellen.
Bei Vorauszahlungen beginnt die Auflisttung mit istdaten.periode; bei Regel- und Nachzahlungen mit dem Wert aus plandaten.beginn.
Aus den gegebenen Umständen heraus können die Tabellen lediglich verknüpft werden über
plandaten.namegp = istdaten.namegp.
Ich habe ein ganz einfaches Beispiel hier als SQL beigefügt.
(Die Tabellen sind so natürlich nicht vollständig)
Die Tabelle vergleich soll ein View werden.
Code:
CREATE TABLE istdaten (
ID INTEGER PRIMARY KEY NOT NULL,
name TEXT,
vorname TEXT,
namegp TEXT,
periode TEXT,
betrag REAL
);
INSERT INTO "istdaten" VALUES(1,'Max','Mustermann','Max Mustermann','2013-12-01',380);
INSERT INTO "istdaten" VALUES(2,'Max','Mustermann','Max Mustermann','2014-01-01',350);
INSERT INTO "istdaten" VALUES(3,'Max','Mustermann','Max Mustermann','2014-02-01',200);
INSERT INTO "istdaten" VALUES(4,'Alias','Mussgeheim','Alias Mussgeheim','2014-01-01',325);
INSERT INTO "istdaten" VALUES(5,'Alias','Mussgeheim','Alias Mussgeheim','2014-02-01',325);
INSERT INTO "istdaten" VALUES(6,'Eva','Musterfrau','Eva Musterfrau','2014-02-01',200);
INSERT INTO "istdaten" VALUES(7,'Eva','Musterfrau','Eva Musterfrau','2014-03-01',200);
CREATE TABLE plandaten (
ID INTEGER PRIMARY KEY NOT NULL,
namegp TEXT,
beginn TEXT,
ende TEXT,
betrag REAL
);
INSERT INTO "plandaten" VALUES(1,'Max Mustermann','2013-11-01','2014-02-28',200);
INSERT INTO "plandaten" VALUES(2,'Alias Mussgeheim','2014-01-01','2014-02-28',325);
INSERT INTO "plandaten" VALUES(3,'Eva Musterfrau','2014-01-01','2014-02-28',250);
CREATE TABLE vergleich (
name TEXT,
vorname TEXT,
namegp TEXT,
periode TEXT,
planzahl REAL,
istzahl REAL
);
INSERT INTO "vergleich" VALUES('Mustermann','Max','Max Mustermann','2013-11-01',200,NULL);
INSERT INTO "vergleich" VALUES('Mustermann','Max','Max Mustermann','2013-12-01',200,380);
INSERT INTO "vergleich" VALUES('Mustermann','Max','Max Mustermann','2014-01-01',200,350);
INSERT INTO "vergleich" VALUES('Mussgeheim','Alias','Alias Mussgeheim','2014-01-01',325,325);
INSERT INTO "vergleich" VALUES('Mustermann','Max','Max Mustermann','2014-02-01',200,200);
INSERT INTO "vergleich" VALUES('Musterfrau','Eva','Eva Musterfrau','2014-01-01','',100);
INSERT INTO "vergleich" VALUES('Mussgeheim','Alias','Alias Mussgeheim','2014-02-01',325,325);
INSERT INTO "vergleich" VALUES('Musterfrau','Eva','Eva Musterfrau','2014-02-01',250,200);
INSERT INTO "vergleich" VALUES('Musterfrau','Eva','Eva Musterfrau','2014-03-01',250,200);
Vielen Dank schon einmal für jegliche Hilfe
Wolf-Tilmann
Ach ja: Datenbank: SQLite
Zuletzt bearbeitet: