Neue Datensätze erstellen aus Tabelle
Guten Morgen, ich habe ein Thema, bei dem ich nicht weiterkommen und gerne eine Denkanstoß durch das Forum hätte. Ich möchte Datensätze in einer bestehenden Tabelle anlegen, die aus einer Selectabfrage einer anderen (nicht verknüpften Tabelle - z.B. Umsätze) stammen.
Konkret geht es darum, dass in meiner Tabelle Umsätze in einer Artikelgruppe für ein bestimmtes Datum mehrfach für diese Artikelgruppe vorkommen. In der Zieltabelle soll aber nur der letzte Datensatz der Artikelgruppe angelegt werden.
Mein bisheriger Ansatz sieht wie folgt aus, bei dem im Select (uamid) aber noch der Teil für die Artikelgruppe fehl:
do as server
let mydate := date(2022, 12, 31);
let uamid := (select Umsaetze where Datum = mydate);
for i in uamid do
let mynew := (create 'Zieltabelle');
mynew.(Artikelgruppe := i.Artikelgruppen_ID)
end
Frank
2 Antworten
-
Versuche es mal so. Mirko
do as server let selectedNumbers := for j in select Umsaetze do let artGroup := j.Artikelgruppe; let dat := j.Datum; let no := j.number(Nr); let result := (select Umsaetze)[Artikelgruppe = artGroup and Datum = dat].number(Nr); if contains(result, no) and j.Nr = max(result) then j.number(Nr) end end; for i in selectedNumbers do (create Zieltabelle).( Artikelgruppe := record(Umsaetze,i).Artikelgruppe; Datum := record(Umsaetze,i).Datum ) end end
-
Hallo Mirko , danke für den Vorschlag. Er funktioniert! Muss lediglich nochmal sehen, ob ich die Performance noch etwas verbessern kann, da das Script gefühlt recht lange läuft.
Content aside
- Status Answered
- vor 1 JahrZuletzt aktiv
- 2Antworten
- 41Ansichten
-
2
Folge bereits