Nicht in der Lage zum ausführen von SQL-Abfragen in AS400, laufen in Invalid Token Fehler
In AS400, wie kann ich die arithmetischen Operationen (wie +, -) auf die Felder.
- Für die Abfrage
Select id, sum(field1+field2) as Total from table
, immer folgende error-msg im Deutsch "[IBM][System
group by id
ich Access ODBC-Treiber][DB2 für i5/OS]SQL0104 - Token & ungültig.
Gültige Token: + - ALS<IDENTIFIER>
." Englisch-Übersetzung ist etwas
wie "[IBM] [System i Access ODBC-Treiber] [DB2 für i5/OS] SQL0104 -
Token<END Instruction>
ungültig. Gültige Token: CL ALS IN der LOG-OUT-DATEN
<identifier>
." - Für die Abfrage
Select count(*) from (select distinct field1 from table where field2="abc"
, immer folgende error msg "[IBM][System i Access ODBC-Treiber][DB2 für i5/OS]SQL0104 - Token<ENDE DER ANWEISUNG>
ungültig. Gültige Token: ALS CL-IN LOG-OUT-DATEN<IDENTIFIER>
." - Für eine Abfrage mit sub-query hat folgende error msg
"[IBM][System i Access ODBC-Treiber][DB2 für i5/OS]SQL0104 - Token & ungültig. Gültige Token:<
>
=<>
<=
!<
!>
!=
>=
¬<
¬>
¬=
NICHT."
Könnte mir bitte jemand sagen, was falsch mit meinen sql-Abfragen.
- Es sieht aus wie Sie zeigen uns, pseudocode, wenn die Abfrage hatte wohl andere Spaltennamen und Tabellennamen. Durch die Schaffung psuedocode, wie es aussieht, haben Sie eingeführt, die neue syntax-Fehler. Bitte zeigen Sie uns Ihren code, so können wir exakt diagnostizieren Sie Ihre eigentliche problem.
- Ich bin wirklich Leid für Sie, dass pseudo-code. Diese client-Datenbank hat wenig sensible Daten. Meine Abfrage(mit dummy-Namen) geht so "wählen, EDS, sum(val(SDS)) als totalh aus tbl1 where EDS &" wie '201305[0-9][0-9]' - und siteds in(select distinct ORT from tbl2 where H_04 in ('1234') und der Punkt =201305) Gruppe von EDS order by EDS". Problem ist NICHT mit dem reservierten Schlüsselwort-Tabelle. Benutzen musste, & und zwei Anführungszeichen ( " ), weil der Bereich EDS-Typ ist Numeric.
Du musst angemeldet sein, um einen Kommentar abzugeben.
TABLE
ist ein reserviertes Wort. SQL Referenz: Reserved schema die Namen und reservierte Wörter.SQL Referenz: Bezeichner
Abfragen könnte neu geschrieben werden als:
UPDATE
DB/2 für die ich nicht unterstützen, Ihre Methode in der numerischen character-Umwandlung oder die Art der Zeichen, Vergleich Sie in Ihrem WIE-Abfrage.
Die Abfrage neu geschrieben werden kann als:
Müssen Sie möglicherweise verwenden Sie
DEC
stattINT
je nach definition des Feldessds
.SQL-Referenz:
-
INT
-
DEZ
-
ZWISCHEN
Ist die Tabelle, die den Namen wirklich 'table'?
Seltsam, wie es scheint, wenn ich die SQL-Anweisung, die Sie angegeben ist, bekomme ich den gleichen Fehler... aber wenn ich 'Tisch' in 'Tabelle1', es sich nur beschwert, dass es nicht finden können, 'Tabelle1'.
sum(field1 & field2)
aber wenn er es ein zweites mal eingegeben, die&
wurde ein+
.