PDA

View Full Version : SQL läuft interaktiv aber nicht als RUNSQLSTM



ZeusNBG
17-03-11, 14:46
Hallo zusammen,

ich bin gerade am verzweifeln, ich habe folgendes Statement


insert into bi.miniserp
select tlwgr, g.KKMMK, g.KKJJK, sum(g.anzges) as sumanzges,
sum(ifnull(m.anzmini, 0)) as sumanzmin from
(SELECT kktlnr, KKMMK, KKJJK, COUNT(k1.kkser) as anzges FROM asdat.kkls2p k1
group by kkmmk, kkjjk, KKTLNR) g left join (SELECT kktlnr, KKMMK, KKJJK, COUNT(k2.kkser)
as anzmini FROM asdat.kkls2p k2
where KKMENG <= 100
group by kkmmk, kkjjk, KKTLNR) m on m.kktlnr = g.kktlnr and
m.kkmmk=g.kkmmk and m.kkjjk = g.kkjjk
join asdat.tlstap on g.kktlnr = tlnr and tlstat<>'L' and tls2=0
group by tlwgr, g.KKMMK, g.KKJJK ; Per STRSQL läuft es problemlos.
Leider aber nicht per Befehl:

RUNSQLSTM SRCFILE(BI/QSQLSRC) SRCMBR(MINSERSQL) COMMIT(*NONE) NAMING(*SQL)Ich bekomme die Fehlermeldung:

RUNSQLSTM SRCFILE(BI/QSQLSRC) SRCMBR(MINSERSQL) COMMIT(*NONE) NAMING(*SQL)
Spalte COUNT nicht in angegebenen Tabellen.Detail:

Nachrichten-ID . . . . : SQL0206 Bewertung . . . . . . : 30
Nachrichtenart . . . . : Diagnose
Sendedatum . . . . . . : 17.03.11 Sendezeit . . . . . . : 15:41:11

Nachricht . . . : Spalte COUNT nicht in angegebenen Tabellen.
Ursache . . . . : COUNT ist keine Spalte von Tabelle *N in *N. Ist die
Tabelle *N, ist COUNT keine Spalte einer Tabelle oder Sicht, auf die
verwiesen werden kann.
Fehlerbeseitigung: Einen der folgenden Schritte durchführen und die
Anforderung wiederholen:
-- Sicherstellen, dass die Spalten- und Tabellennamen in der Anweisung
korrekt angegeben wurden.
-- Handelt es sich um eine Anweisung SELECT, sicherstellen, dass alle
erforderlichen Tabellen in der Klausel FROM angegeben wurden.
-- Sollte die Spalte ein Korrelationsbezug sein, die Spalte mit der
korrekten Tabellenkennzeichnung qualifizieren. Hat jemand einen Tipp, woran es liegen könnte? Mit CTE habe ich es auch schon versucht...

Vielen Dank schon mal

Robi
17-03-11, 15:05
Hi,
es lässt sich schwee lesen (Firefox stellt es nicht gut dar) aber ich vermute dein Count(...) steht man ende einer Zeile.
Warscheinlich > 80 ste Spalte. Das mag Runsqlstmt nicht.
ändere mal den Umbruch

Gruß
Robi

KingofKning
17-03-11, 15:08
Und wenn Du die counts wegläßt funktioniert es dann?

Ansonsten kannst Du nur hoffen das Birgitta oder Baldur das liest......

GG

ZeusNBG
17-03-11, 15:09
Argh! :eek:
Manchmal sieht man den Wald vor lauter Bäumen nicht.
Das Teil war zu lang....

Vielen Dank, jetzt rennt es

Fuerchau
17-03-11, 15:10
Da kann ich mich auch dunkel erinnern, nur dass die letzte Spalte 72 ist!

Pikachu
17-03-11, 15:17
Boah, krass. Da muß man erstmal draufkommen!

ZeusNBG
17-03-11, 15:21
Hat mich 2 Sunden gekostet...aber so hilft es anderen vielleicht schneller drauf zu kommen.

B.Hauser
18-03-11, 06:04
... übrigens in den neueren Releases 6.1 oder 7.1 kann beim RUNSQLSTM angegeben werden, bis zu welcher Spalte (Maximum 32764) der SQL Code verarbeitet werden kann.

Default ist weiterhin 80!


RUNSQLSTM SRCFILE(MYLIB/QSQLSTM)
SRCMBR(MYMBR)
MARGINS(130)

Birgitta

holgerscherer
18-03-11, 13:55
... übrigens in den neueren Releases 6.1 oder 7.1 kann beim RUNSQLSTM angegeben werden, bis zu welcher Spalte (Maximum 32764) der SQL Code verarbeitet werden kann.

Das ist so eine typische IBM-Lösung (immer besser manuell) ;-)

-h