Ich versuche, eine Baseball-Datenbank von MS Access abzufragen, aber meine SQL-Anweisung bleibt auf einem fehlenden Operator stecken. Im Folgenden finden Sie die SQL-Abfrage, die ich vorbei:Fehlender Operator in SQL-Abfrage
SELECT
Master.nameFirst, Master.nameLast,
Master.nameFirst + ' ' + Master.nameLast as FULLNAME,
(SUM(Batting.H) + SUM(Batting.BB) + SUM(Batting.HBP))/(SUM(Batting.AB) + SUM(Batting.BB) + SUM(Batting.HBP)) as OBP,
SUM(Batting.H)/(SUM(Batting.H) + SUM(Batting.BB) + SUM(Batting.HBP)) as HitP,
(SUM(Batting.2B) + SUM(Batting.3B) + SUM(Batting.HR))/SUM(Batting.H) as ExtraP,
SUM(Batting.HR)/(SUM(Batting.2B) + SUM(Batting.3B) + SUM(Batting.HR)) as HRP,
SUM(Batting.3B)/(SUM(Batting.2B) + SUM(Batting.3B)) as TriplePerc,
SUM(Batting.HBP)/(SUM(Batting.BB) + SUM(Batting.HBP)) as HBPP
FROM
Master
INNER JOIN
Batting ON Master.playerID = Batting.playerID
WHERE
(Batting.playerID IN (SELECT playerID
FROM Master
WHERE (nameFirst = 'Ryan' AND nameLast = 'Howard'))
Der fehlende Bedienfehler scheint auf diesem einzigen Ausdruck zu konzentrieren:
(SUM(Batting.2B) + SUM(Batting.3B) + SUM(Batting.HR))/SUM(Batting.H) as ExtraP
Aber ich etwas falsch mit ihm ehrlich gesagt nicht sehen. Was vermisse ich?
Warum nicht die Abfrage vereinfachen, indem Sie Bedingungen entfernen, bis Sie das Problem lösen? Wenn Sie es immer noch nicht lösen, dann stellen Sie eine Frage. –
Ist wirklich '2B' Ihr Spaltenname? Das sollte das Problem sein. Welches DBMS benutzen Sie? –
Fügen Sie bitte - (1) ein relevantes Tag für Datenbank + Version (2) die DDL der relevanten Tabelle hinzu (denken Sie, wie einfach es wäre, Sie zu unterstützen) –