PDA

View Full Version : SQL-Syntax und ich...



DKSPROFI
29-12-11, 14:48
Moin liebe Kolleginnen und Kollegen,

ich stehe da ganz schön auf dem Schlauch und sehe den Wald vor lauter Bäumen nicht.:eek:

Kann mir da mal jemand behiflich sein?:)

Folgendes Stamtement will ich basteln, aber ich verzweifle an der Syntax und der SQL Unwissenheit:

INSERT INTO QTEMP/File1
select * from
File1 a,
File2 b
where ((Feld1 aus File2 LIKE '%Wert1%')
OR (Feld2 aus File2 LIKE '%Wert1%')
OR (Feld3 aus File2 LIKE '%Wert1%'))
AND (Key1 aus 1 = Key1 aus 2)
AND (Key2 aus 1 = Key2 aus 2)

Ich bekomme dann immer die Meldung:

Anweisung enthält falsche Anzahl an Werten.

Was mach ich denn da falsch???:confused:

Mfg

DKSPROFI

Pikachu
29-12-11, 15:35
Läuft denn das SELECT ohne das INSERT?

Robi
29-12-11, 17:01
Moin,
da du ja * selektierst (aus 2 Dateien) muß deine Zieldatei in qtemp auch alle felder beider dateien enthalten.
hast du das bedacht?
Guten Rutsch
Robi

DKSPROFI
29-12-11, 18:53
Moin,

nö, ja , aber , jetzt wird mir zwar einiges klar, aber...

Ziel ist:

füge in die QTEMP/Datei A alles ein
was in der Datei MYLIB/Datei A ist, wenn Feld 1 oder 2 oder 3 gleich dem Wert 1 oder 2 oder 3 ist, und wenn Schlüssel der Datei MYLIB/A der Schlüssel der Datei MYLIB/B ist.

Hintergrund ist der, dass eine /36 Anwendung umgestellt wird, und eine Kopie der Datei A früher mit W.?WS?xxx gelesen wurde (Die wiederum ist eine EXAKTE Kopie der Datei A, lediglich mit einem RPG II "verdichtet" erstellt wurde. Jetzt aber soll ein SQL diese ablösen, deshalb diese Vorgabe. SQL mit entsprechenden anweisungen funzt wunderbar, bis zu dem Zeitpunkt, wo die zweite Datei ins Spiel kommt.

Auch Euch einen guten Rutsch.

mfg

DKSPROFI

Pikachu
29-12-11, 23:45
Probier mal mit:

...
SELECT a.* FROM ...
...

DKSPROFI
30-12-11, 05:17
Moin,

@PIKACHU - Du bist der Tagesheld. Vielen, vielen Dank.:)

Nochmals, einen guten Rutsch an alle

mfg

DKSPROFI

ExAzubi
02-01-12, 14:35
Für sowas auch immer wider gerne:

SQL mit F13 Sitzungsattribute ändern. Ausgabe auf Datei stellen (3) und dann nur das select ausführen lassen :)

Robi
02-01-12, 14:47
Wenn, dann besser so ...

(es gibt da Geschichten, das durch einen dringenden Telefonanruf vergesssen wurde, die Dateiausgabe wieder zurück zu stellen ...)

create table lib/file as (
select was ich brauche from lib/file ...
) with data

Robi