[NEWSboard IBMi Forum]

Thema: SQL Update

Hybrid View

  1. #1
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    Hallo,
    in diesem konkreten Beispiel ist es so das es sich um Positionen handelt, die pro Index alle das selbe Datum haben müßen. Das Datumsfeld ist Dezimal mit 6 Stellen. (Sorry mit den 6 Stellen war mir erst jetzt aufgefallen)

    Das heißt die Suche mit größer und kleiner kann ich mir sparen, und muß eigentlich nur den ersten Wert finden der <> Null ist.

    Es können mehrere Sätze mit einem Index Null-Datum haben.

    Aber der erste Vorschlag müßte doch schon greifen oder?
    Muß leider jetzt bis heute Abend zum Sport (Prüfung steht an) Werde aber mir das Morgen in aller Ruhe auf der Testumgebung ansehen.
    Ich liebe Feiertage.....

    Danke
    GG

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Dann ist es wirklich einfach:

    update mytable a
    set a.mydate= (select distinct b.mydate from mytable b
    where a.index = b.index and b.mydate <> 0)
    where a.mydate=0
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    @fuerchau
    Tja,
    leider nicht so ganz, bekomme die Meldung
    "Nachrichten-ID . . . . : SQL0811 Bewertung . . . . . . : 30
    Nachrichtenart . . . . : Diagnose

    Nachricht . . . : Ergebnis der Anweisung enthält mehr als eine Zeile.
    Ursache . . . . : Die Ergebnistabelle einer Anweisung SELECT INTO, einer
    Unterabfrage oder einer Unterauswahl einer Anweisung SET enthält mehr als
    eine Zeile. Es handelt sich um Fehlerart 2. Bei Fehlerart 1 wurde von einer
    Anweisung SELECT INTO versucht, mehr als eine Zeile zurückzugeben. Bei
    Fehlerart 2 wurde durch eine Unterauswahl eines Basisprädikats mehr als eine "
    Das heißt in meinen Augen das der distinct nicht greift oder?

    Könnte mir ein group by helfen?

    GG

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das bedeutet, dass dein Datum über mehrere Sätze eben nicht eindeutig ist.
    Ggf. hilft dir einfach "Max" oder "Min":

    update mytable a
    set a.mydate= (select min(b.mydate) from mytable b
    where a.index = b.index and b.mydate <> 0)
    where a.mydate=0
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    Danke,
    es ist wie immer wenn man doof ist. Hatte mich in meinem Query natürlich auf eine Firma beschränkt und im sql nicht. Man glaubt es kaum, aber kaum macht man es richtig läuft es auch......

    GG

Similar Threads

  1. SQL Update aus zwei Dateien mit 3 Schlüsselfeldern
    By mk in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 13-07-12, 08:53
  2. SQL Update 2 Dateien
    By moskito in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 30-08-06, 17:30
  3. Update Syntax SQL
    By wuwu in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 18-07-06, 15:31
  4. SQL UPDATE, verknüpfung zweier Dateien
    By desti82 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 04-07-06, 15:25
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •