tutorials.de Buch-Aktion 02/2012
Like Tree1Danke
  • 1 Beitrag von einfach nur crack
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
465
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    fuDDel fuDDel ist offline Mitglied Bronze
    Registriert seit
    Jan 2002
    Beiträge
    33
    Hi,

    ich möchte einen Auftragskopf UPDATEN wenn in den Positionen zum Auftrag bestimmte Bedingungen gegeben sind.
    Diese Bedingungen können allerdings auf mehrere Sätze zutreffen und dementsprechend sollen dann alle Sätze ein Update bekommen.

    Im folgenden die Dateien auf das Nötigste gekürzt

    Auftragskopffelder:

    AuftrNr.
    KundenNr.
    KW(Kalenderwoche)
    VA(Versandart)
    FB(Frachtbrief)
    LS(Lieferschein)

    Auftragspositionsfelder:

    AuftrNrPos.
    KundenNrPos.
    Artikelgruppe
    ArtikelNr.

    Folgendes SQL hatte ich mir zusammengeschustert, welches folgende Meldung auswirft:
    "Ergebnis der Anweisung enthält mehr als eine Zeile"

    Code sql:
    1
    2
    3
    4
    5
    
    UPDATE AUFTRAGSKOPF
    SET VA = 10
    WHERE AuftrNr = (SELECT AuftrNrPos FROM AUFTRAGSPOS
    WHERE Artikelgruppe = 08
    AND ARTIKEL = 15)

    Die Fehlermeldung leuchtet mir auch ein, da das INNERSELECT mehrere Sätze zurück gibt, wenn es mehrere Positionen mit dem Artikel 15 gibt.
    Jetzt komme ich aber einfach nicht drauf, wie ich das richtig miteinander verknüpfe, damit das SQL versteht was ich vorhabe.

    Jemand ein Zaunpfahl mit dem man mich bitte erschlagen kann? Zur Not auch einen ganzen Zaun, falls ich einfach zu dämlich bin

    Gruß

    fuDDel
    Geändert von fuDDel (23.08.10 um 17:28 Uhr)
     

  2. #2
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist gerade online mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.502
    Hier kommt dein Zaunspfahl:
    Code SQL:
    1
    2
    3
    4
    5
    6
    7
    
    UPDATE AUFTRAGSKOPF
      SET VA = 10
      WHERE AuftrNr IN(
        SELECT AuftrNrPos
          FROM AUFTRAGSPOS
          WHERE Artikelgruppe = 08
          AND ARTIKEL = 15)
    fuDDel bedankt sich. 
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  3. #3
    fuDDel fuDDel ist offline Mitglied Bronze
    Registriert seit
    Jan 2002
    Beiträge
    33
    Hey einfach nur crack,

    vielen Dank für deine Hilfe, das hat mir sehr geholfen.

    Gruß

    fuDDel
     

Ähnliche Themen

  1. MySQL: Feld über mehrere Sätze neu durchnummerieren?
    Von ManicMarble im Forum Relationale Datenbanksysteme
    Antworten: 8
    Letzter Beitrag: 02.05.11, 11:24
  2. Sätze mit gleichen Werten finden und andere Ausschliessen
    Von xrax im Forum Relationale Datenbanksysteme
    Antworten: 6
    Letzter Beitrag: 20.09.10, 13:13
  3. Antworten: 0
    Letzter Beitrag: 26.09.09, 09:45
  4. Update auf neuere Version von MySQL bringt mich zum Verzweifeln...
    Von C4D_Joe im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 28.03.06, 14:02
  5. Kommandozeile - andere Version
    Von js-mueller im Forum Microsoft Windows
    Antworten: 2
    Letzter Beitrag: 18.04.04, 20:14