林相当在SQL初学者,我一直在现在的问题是这个东西想锻炼几个小时:SQL - 无效的标识符,但在哪里?
SELECT COUNT (DISTINCT c.BAND_ID)Number_of_bands, COUNT(DISTINCT c.COMP_ID)"Total_Competitions",g.NAME GENRE_TYPE
FROM ENTERED_COMPS ec,COMPETITIONS c,GENRE g
WHERE c.COMP_ID = ec.COMP_ID
AND g.GENRE_ID = c.GENRE_ID
AND c.BAND_ID = b.BAND_ID
GROUP BY GENRE_TYPE
ORDER BY GENRE_TYPE ASC;
Oracle just comes up with the error
ORA-00904: "GENRE_TYPE": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
Error at Line: 6 Column: 9
这让我觉得有必须与GENRE.NAME列一个问题.. ..名称不正确或拼写错误。然而,情况并非如此。
我试图通过按字母顺序输出它们来分析流派的比较受欢迎程度,并显示每个流派有多少比赛正在举行以及有多少条乐队进入了每场比赛类型。
为了使这个简单一些这里是我的ERD的链接 - http://www.missingstudios.com/matt/ERD%20Logical.pdf
支持将不胜感激!
您可以改为“GROUP BY g.NAME”吗? – 2012-03-05 18:32:46
尝试在GROUP BY和ORDER BY子句中使用'g.Name'而不是'GENRE_TYPE'。 – 2012-03-05 18:33:50
请停止使用隐式连接语法。这是一个非常ppor编程技术。即时交叉连接更容易维护,更可能是正确的。 – HLGEM 2012-03-05 18:38:13