Summieren zweier voneinander unabhängigen Tabellen

Kampfgummibaerlie

Datenbank-Guru
Beiträge
743
Mein jetziges Problem denke ich passt auch hier rein, also:

Nachdem ich wieder hinter der Datenbank für das Nähcafe meiner Mutter sitze, schildere ich mein Momentanes Problem:

Meine Mutter will nicht, dass sich Kunden registrieren.

Mir ging auch schon durch den Kopf, ich gebe einfach ein jeder einzelnen Person, die vorbeischaut, eine serial id, sprich wenn herr hans 2 mal kommt, hat er 2 verschiedene ids. (Was ja irrelevant ist, weil keine der beiden IDs seinen Namen enthält)

Aber ein Beispiel:
Herr Anonym näht 15 Minuten, kauft 3 verschiedene Stoffe zum nähen, 1 Topflappen und 1 Kaffee.

Ich habe das Problem, dass ja bis zu 6 Anonyme gleichzeitig anwesend sein könnten, und es ein wenig Komplex werden würde, wenn jeder dieser Anonyme in kreuz und quer einkaufen, oder sonst etwas tun.

Ich kann mir gut vorstellen, dass das beim Merkur gut funktioniert, weil ja jeder, der an die Kassa geht, eine eigene ID bekommt, aber ich glaube, es wäre auch nicht sehr Kundenfreundlich, wenn man wegen jedem einzelnen Pups die Kosten einkassiert, und er anstatt einmal gegebenenfalls 6 mal die Geldbörse aus der Tasche nehmen muss.

Weil, wenn ich das hätte, glaube ich, würde nichts mehr fehlen.
Oder muss im Endeffekt ein Mensch mitdenken, und die entsprechenden Rechnungen zur entsprechenden Person zuordnen, was bei bis zu 6 Personen auch nicht die einfachste Aufgabe wäre, glaube ich.

Wäre, wie immer, sehr froh über Vorschläge von Lösungsmöglichkeiten.

EDIT: Wollte vor einer Weile einen anderen Thread schreiben, und habe offenbar vergessen, den Titel zu ändern, von daher entschuldige ich mich für eiliges handeln ;)
 
Werbung:
mal so als Schuß aus der Hüfte...

Code:
test=# create table max6(id int primary key, ts timestamp);
CREATE TABLE
test=# insert into max6 (id) values (1);
INSERT 0 1
test=# insert into max6 (id) values (2);
INSERT 0 1
test=# insert into max6 (id) values (3);
INSERT 0 1
test=# insert into max6 (id) values (4);
INSERT 0 1
test=# insert into max6 (id) values (5);
INSERT 0 1
test=# insert into max6 (id) values (6);
INSERT 0 1
test=#

wenn Leute kommen, trägst die ein:

Code:
test=# with id as (select * from max6 where ts is null order by id limit 1) update max6 set ts = now() where id = (select id from id);
UPDATE 1
test=# select * from max6 ;
 id |  ts   
----+----------------------------
  2 |
  3 |
  4 |
  5 |
  6 |
  1 | 2017-12-01 20:04:51.157073
(6 rows)

test=# with id as (select * from max6 where ts is null order by id limit 1) update max6 set ts = now() where id = (select id from id);
UPDATE 1
test=# select * from max6 ;
 id |  ts   
----+----------------------------
  3 |
  4 |
  5 |
  6 |
  1 | 2017-12-01 20:04:51.157073
  2 | 2017-12-01 20:04:51.157073
(6 rows)

sorry, Boarding beginnt, kann nicht weiterschreiben jetzt...
 
Werbung:
Was ich mir denke, wäre, dass ich einfach den Mietzeiten (Range-Wert) einen Default-Wert gebe, der in gewissen Maßen relativ unrealistisch ist, aber kurz genug ist, um zum Beispiel am Nachmittag einen weiteren Kunden eintragbar mache.

Das meiste regelt sich eh über die Registrierkasse (die man in Österreich seit irgendwann haben muss), sprich die Konstanten Einkäufe (Ich kaufe mir 5 Meter Leinenstoff, oder sowas) eh schon geregelt, sprich ich müsste eigentlich nur die Vermietungsdatenbank entsprechend machen, womit wir wieder beim Anfang wären, aber um ehrlich zu sein, würde es mich dennoch interessieren, wie das zum Beispiel Restaurantes, Kaffes, oder ähnliches machen, wo ja eigentlich quer durch alles die Rechnungen geändert werden, oder sonst etwas. Meine jetzige Idee wäre, dass ich einfach die ID der Maschine zu ein jeder Maschine schreibe, und Mutter es halt dementsprechend macht, sprich, ich müsste eine Funktion schreiben, die sowohl die TSRange erweitert, aber auch den neu gekauften Stoff zur entsprechenden Maschine einträgt zum jetzigen Zeitpunkt, und wenn einer, der näht, meint er sei fertig, enfach alle gekauften Stoffe die zwischen der TSRange von Maschine X gekauft wurden, am Ende zusammengezählt werden.

Sprich, ich erspare mir eine Boolean-Spalte, die ich definiert hätte, die sich true setzt, falls eine Mietung abgeschlossen ist...
Wenn ich jetzt darüber nachdenke, wäre es so verdammt einfach, und ich frage mich ernsthaft, wieso ich erst jetzt drauf komme...

Weil, es ist ähnlich wie beim Autofahren, ohne Treibstoff fahrt man nicht, sondern muss es tanken. Ähnlich ist es beim nähen, ohne Stoff näht man ins Leere. Muss ich aber noch mit ihr absprechen, wielange man höchstens mit einem gekauften Stoff auskommt, sprich, wie "schnell" ein Anfänger näht, beziehungsweise, wie lange jemand nähen könnte.

Entschuldige auch, wenn ich meine Gedankenkreise veröffentliche, aber ich hoffe, es freut sich jemand darüber.
 
Zurück
Oben