[NEWSboard IBMi Forum]
  1. #1
    hs is offline [professional_User]
    Registriert seit
    Jun 2001
    Beiträge
    364

    Update mit zwei Dateien

    Hallo AS400-Gemeinde,

    habe ein Problem, das hier mit Sicherheit schon besprochen worden ist, aber offensichtlich funktioniert im neuen Forum die Suchfunktion nicht mehr (nur so kann ich es mir erklären, das bei der suche nach "update" kein einziger Treffer gefunden wird).

    Möchte ein update machen mit Select über zwei Dateien:

    Datei A Datei B
    ArtNr1 ArtNr2
    Lagerort1 Lagerort2

    Update auf Datei B:
    Alle Artikel mit Lagerort2(Datei B) <> Lagerort1(Datei A) -> Lagerort2 = Lagerort1 setzen.

    Folgende Syntax habe ich probiert:
    update dateib set lagerort2 = (select lagerort1 from Dateia, Dateib where artNr1 = ArtNr2 and lagerort1 <> lagerort2)
    where exists
    (select lagerort1 from Dateia, Dateib where artNr1 = ArtNr2 and lagerort1 <> lagerort2)

    Fehlermeldung:
    Ergebnis der Anweisung enthält mehr als eine Zeile.

    (ArtNr2 ist mehrfach in dateib, ArtNr1 eindeutig, da Teilestamm)

    Wie lautet dann die Syntax?

    Danke
    HS

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Füge einen DISTINCT in deinem 1. Subselect ein, da du nur den einen Lagerort haben willst.
    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
    hs is offline [professional_User]
    Registriert seit
    Jun 2001
    Beiträge
    364

    Angry

    Hatte ich schon versucht, hat leider nichts gebracht.

    Bei der Fehlermeldung steht noch:
    Fehlerart 2 wurde durch eine Unterauswahl eines Basisprädikats mehr als eine
    Zeile erstellt. Es ist nur eine Zeile zulässig.

  4. #4
    Registriert seit
    Jul 2003
    Beiträge
    63
    Hallo,
    probiers mal mit:
    update dateib set lagerort2 = (select lagerort1 from Dateia, where artNr1 = ArtNr2 and lagerort1 <> lagerort2)

    Das müßte reichen. Der Select für die Existenz ist m.E. hier überflüssig, ebenso wie die Angabe von DateiB im ersten Select; dieser könnte der Grund für die zusätzliche Ergebniszeile sein.

    Ich habe mangels entsprechender Dateien natürlich nicht testen können; deshalb: Vorsicht.

    MfG
    Klaus Hardy

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    update dateib set lagerort2 = (select distinct lagerort1 from Dateia where artNr2 = ArtNr1)
    where artnr2 in (select artnr1 from Dateia) and lagerort2 <> (select lagerort1 from Dateia where artNr1 = ArtNr2)

    Das Prüfen kannst du dir allerdings sparen, da ein Update mit dem gleichen Wert ja unschädlich ist:

    update dateib set lagerort2 = (select distinct lagerort1 from Dateia where artNr2 = ArtNr1)
    where artnr2 in (select artnr1 from dateia)

    Der Subselect stellt die Beziehung über die Artikelnr her, distinct ist erforderlich, wenn Dateia mehrere Sätze mit der gleichen Artikelnr und Lagerort hat. Enthält Dateia aber gleiche Artikel mit unterschiedlichen Lagerorten funktioniert das überhaupt nicht.

    Die Where-Klausel des Update prüft auf vorhandene Artikel in Dateia, da sonst Null-Werte beim subselect auftreten.
    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

  6. #6
    hs is offline [professional_User]
    Registriert seit
    Jun 2001
    Beiträge
    364

    Smile

    Danke euch beiden!
    Hat wunderbar geklappt.

    Gruß
    HS

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 über 3 Dateien
    By Bobou in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 22-11-06, 08:26
  3. SQL Update 2 Dateien
    By moskito in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 30-08-06, 17:30
  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 update mit 2 verknüpften dateien
    By juniorprog in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 03-02-06, 11:17

Berechtigungen

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