注意:我不小心在这里提出了另一个问题的句子(对我来说是非常道歉),我已经在3月14日星期三下午23:21更新了这篇文章,并提出了正确的问题.
我花了几个小时试图在没有任何人帮助的情况下弄清楚这个问题,但是我意识到我浪费了太多的生产时间,应该早点问别人.我有一个不错的裂缝,并且已经如此接近,但无法得到我需要的最终解决方案.我应该得到的是:
对于同一评论者对同一部电影进行两次评分并且第二次给予更高评级的所有情况,请返回评论者的姓名和电影的标题.
这是我设法到达的查询:
SELECT reviewer.name, movie.title, rating.stars
FROM (reviewer JOIN rating ON reviewer.rid = rating.rid)
JOIN movie ON movie.mid = rating.mid
GROUP BY reviewer.name
HAVING COUNT(*) >= 2
ORDER BY reviewer.name DESC
Run Code Online (Sandbox Code Playgroud)
(我觉得上面的查询中缺少WHERE子句,但不知道放在哪里)
(据我所知,SQLite目前不支持RIGHT和FULL OUTER JOIN)
以下是表格和数据(图片中)......



......还有DB代码......
/* Delete the tables if they already exist */
drop table if exists Movie;
drop table if exists Reviewer;
drop table if exists Rating;
/* Create the schema for our tables */
create table Movie(mID int, title text, year int, director …Run Code Online (Sandbox Code Playgroud)