-
Update Syntax SQL
Hallo,
mir ist die Update Syntax im SQL bekannt aber für das was ich möchte,
reicht mein wissen leider nicht aus.
Habe 2 Tabellen mit folgenden Feldern
1. Tabelle: LaufendeNr, Datum
2. Tabelle: LaufendeNr, Erledigungen
Jetzt möchte ich das Feld Erledigungen aktualisieren mit Update, aber
nur diese Datensätze, die zwischen einem bestimmten Datum sind (Feld
Datum von Tabelle 1).
Syntax:
update kisdata.bespf020
set kisdata.bespf020.be2erl='X'
from kisdata.bespf020
INNER JOIN kisdata.bespf010
on kisdata.bespf010.be1ben=kisdata.bespf020.be2ben
where kisdata.bespf010.BE1FIR = 1
and kisdata.bespf020.BE2FIR = 1
and kisdata.bespf020.be2erl not like 'X'
and kisdata.bespf020.be2ben = 7103445
Es kommt die Meldung: Schlüsselwort from nicht erwartet!
-
es fehlt das select vor FROM wenn du das 'X' mit einem Abfrageergebnis ersetzen willst.
update kisdata.bespf020
set kisdata.bespf020.be2erl= (select feld from kisdata.bespf020 ... )
Update mit Select:
http://www.rlpforen.de/showthread.ph...=update+select
http://www.rlpforen.de/showthread.ph...=update+select
http://www.rlpforen.de/showthread.ph...=update+select
Suche mal in den Foren mit "SELECT UPDATE"
Das "zwischen einem bestimmten Datum" versteh ich ehrlich gesagt nicht.
Zwischen impliziert ZWEI Felder/Inhalte.
entweder Fix mit BETWEEN Klausel oder das Between mit einem extra Select abhandeln (was ich allerdings noch nie probiert habe. Ich sehe aber nichts, was dagegen spricht)
Gruß
Andreas
-
Hallo Andreas,
danke für deine schnelle Antwort!
1. Tabelle Aufträge - Hauptdatensatz: Auftragsnummer, Datum
2. Tabelle Detail Aufträge - Detaildatensätze: Auftragsnummer, Erledigt Feld
Es gibt zu einem Auftrag, mehrere Detaildatensätze in Tabelle 2.
Jetzt mus ich das Feld Erledigt von Tabelle2 mit dem Wert X aktualisieren, aber nur die die zwischen einem bestimmten Datum liegen und dieses Datums Feld ist in Tabelle1. Kannst Du mir da auf die Sprünge helfen?
Syntax - die nicht funktioniert:
update kisdata.bespf020
set kisdata.bespf020.be2erl = 'X'
select be2erl from kisdata.bespf020
INNER JOIN kisdata.bespf010
on kisdata.bespf020.be2ben = kisdata.bespf010.be1ben
where be1dat between 20030101 and 20041231
Danke & Mfg
-
Hallo,
der Syntax der funktioniert, GOTT SEI DANK!!!
update kisdata.bespf020
set kisdata.bespf020.be2erl = 'X'
where kisdata.bespf020.be2ben in(
select be1ben
from kisdata.bespf010
where be1dat between 20030101 and 20041231)
and be2erl not like 'X'
Danke & MFG Horst
Similar Threads
-
By mk in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 13-07-12, 08:53
-
By moskito in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 30-08-06, 17:30
-
By desti82 in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 04-07-06, 15:25
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
-
By linguin in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 27-10-05, 15:32
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks