0

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

null
    • mirko3
    • vor 10 Monaten
    • Gemeldet - anzeigen

    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
    
      • Tarek
      • vor 10 Monaten
      • Gemeldet - anzeigen

       

      Hallo Mirko,

      vielen Dank, auch für den Hinweis. Ich habe das geändert.

      Dein Script werde ich gleich mal ausprobieren.

      VG

      Tarek

    • Michael_Heep
    • vor 9 Monaten
    • Gemeldet - anzeigen

    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 9 MonatenZuletzt aktiv
  • 3Antworten
  • 73Ansichten
  • 3 Folge bereits