Vermeidung von Duplikaten mit Select- Bedingung
Hallo zusammen,
ich versuche Duplikate in einer Tabelle zu vermeiden, indem ich die aufnehmende Tabelle auf das Vorhandensein eines Datums prüfen und nur dann den Eintrag zulasse. Soweit die Idee...
Leider funktioniert das nicht. Das Script erkennt anscheinend die zu vergleichenden Felder nicht sauber.
Das Script sieht wie folgt aus:
let myTab := (select SolarDaten where KW != (select SolarDatenZus_Wochen.KW_Zus));
let myArray := sort(unique(myTab.KW));
for i in myArray do
let newRec := (create SolarDatenZus_Wochen);
newRec.(KW_Zus := i)
end
Wobei das Feld "SolarDatenZus_Wochen.KW_Zus" das Feld ist, welches auf Vorhandensein geprüft werden soll und zwar gegen das Feld "SolarDaten.KW".
Vielen Dank vorab, wenn jemand helfen kann.
VG
Tarek
3 Antworten
-
Hallo Tarek. Ich denke, Du mußt erst die beiden Arrays der KW gesondert vergleichen. Versuche es mal so. Übrigens, wenn Du eine Erfassung über mehrere Jahre durchführen willst, dann ist es nicht sehr glücklich die KW zu benutzen. Besser wäre yearweek(), sonst funktioniert das Script nur ein Kalenderjahr. Mirko
let firstAry := (select SolarDaten).KW; let secondAry := (select SolarDatenZus_Wochen).KW_Zus; let result := for i in firstAry do if not contains(secondAry, i) then i end end; for i in result do let newRec := (create SolarDatenZus_Wochen); newRec.(KW_Zus := i) end
-
Hallo Tarek,
konntest Du das mit dem Skript von Mirko lösen? Bei mir klappt das nicht. Es werden trotzdem alle Datensätze aus der ersten Tabelle mit der gleichen Nummer nochmal angelegt.
BG Michael
Content aside
- Status Answered
- vor 1 JahrZuletzt aktiv
- 3Antworten
- 75Ansichten
-
3
Folge bereits