以下是我的问题:列出出版图书数量最多的title_id,pubdate和月份名称(例如“May”)。 我在Oracle 10g express上。 这是我的疑问:
SELECT count(EXTRACT(MONTH FROM pubdate)), title_id
CASE EXTRACT(MONTH FROM pubdate)
WHEN 2 THEN 'February'
WHEN 3 THEN 'March'
WHEN 4 THEN 'April'
WHEN 5 THEN 'May'
WHEN 6 THEN 'June'
WHEN 7 THEN 'July'
WHEN 8 THEN 'August'
WHEN 9 THEN 'September'
WHEN 10 THEN 'October'
WHEN 11 THEN 'November'
WHEN 12 THEN 'December'
END
FROM titles t, publishers p
WHERE t.pub_id=p.pub_id
AND pubdate in
(select max(EXTRACT(MONTH FROM pubdate)) from titles group by t.title_id)
GROUP BY t.title_id
ORDER BY count(EXTRACT(MONTH FROM pubdate));
在Oracle中,它告诉我预期找不到FROM关键字。任何专家都可以看看这个并告诉我哪里错了?
答案 0 :(得分:1)
您错过了title_id and Case
SELECT count(EXTRACT(MONTH FROM pubdate)), title_id , <----- comma needs to be here
CASE EXTRACT(MONTH FROM pubdate)
WHEN 2 THEN 'February'
WHEN 3 THEN 'March'
WHEN 4 THEN 'April'
WHEN 5 THEN 'May'
WHEN 6 THEN 'June'
WHEN 7 THEN 'July'
WHEN 8 THEN 'August'
WHEN 9 THEN 'September'
WHEN 10 THEN 'October'
WHEN 11 THEN 'November'
WHEN 12 THEN 'December'
END
有趣的是,如果您使用Instant SQL Formatter
您收到了更好的错误消息
EXTRACT(2,13)预期令牌:。 ),FROM INTO