你好,我在行
中遇到了问题ON S.cid = P.cid
我得到了00904. 00000 - “%s:无效的标识符。我真的不明白如何解决它。我是SQL的新手,所以关于这个特定问题的任何输入都会有很大的帮助。这也许不是这个代码唯一的问题。所以,如果有人看到其他任何奇怪的东西,请给我一些意见。
SELECT S.cid, NLV(SUM(P.credits#),0) AS mathCred
FROM Students S
LEFT JOIN
(SELECT P.cid , P.credits#
FROM PassedCourses P
JOIN HasClass H
ON P.code = H.code AND H.name = 'mathematical')
ON S.cid = P.cid
GROUP BY S.cid;
答案 0 :(得分:2)
您需要子查询的别名:
SELECT S.cid, NLV(SUM(ph.credits#),0) AS mathCred
FROM Students S LEFT JOIN
(SELECT P.cid , P.credits#
FROM PassedCourses P JOIN
HasClass H
ON P.code = H.code AND H.name = 'mathematical'
) ph
ON S.cid = ph.cid
GROUP BY S.cid;
p
在子查询中是已知的,但不在其外部。只需给子查询一个别名并使用它。