注:誤って別の質問の文をここに入れます(私の大量の謝罪)。私は3月14日水曜日23:21 pmの正しい質問。この特定の「クエリ」の結果を取得する方法
私はこの質問を他の人の助けなしに理解しようと数時間を費やしてきましたが、私はあまりにも多くの時間を無駄にしてしまったことに気がつきました。私はこれでまともな亀裂があったと近づいているが、私が必要とする最終的な解決策を得ることができません。私が取得することになっていますと、次のとおりです。同じ校閲者が二回同じ映画を評価全てのケースについては
と 校閲者の名前 や映画のタイトルを返し、それをもう一度高い評価を得ています。
これは私がここに得ることができたクエリです:
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
(私は上記のクエリから欠落しているWHERE句がある感じを持っているが、それをどこに配置するかを確認していない)
(私が学んだことから、RIGHTおよびFULL OUTERが現在のSQLiteでサポートされていない参加する)
そして、ここで(写真中)のテーブルとデータがある...
...そして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 text);
create table Reviewer(rID int, name text);
create table Rating(rID int, mID int, stars int, ratingDate date);
/* Populate the tables with our data */
insert into Movie values(101, 'Gone with the Wind', 1939, 'Victor Fleming');
insert into Movie values(102, 'Star Wars', 1977, 'George Lucas');
insert into Movie values(103, 'The Sound of Music', 1965, 'Robert Wise');
insert into Movie values(104, 'E.T.', 1982, 'Steven Spielberg');
insert into Movie values(105, 'Titanic', 1997, 'James Cameron');
insert into Movie values(106, 'Snow White', 1937, null);
insert into Movie values(107, 'Avatar', 2009, 'James Cameron');
insert into Movie values(108, 'Raiders of the Lost Ark', 1981, 'Steven Spielberg');
insert into Reviewer values(201, 'Sarah Martinez');
insert into Reviewer values(202, 'Daniel Lewis');
insert into Reviewer values(203, 'Brittany Harris');
insert into Reviewer values(204, 'Mike Anderson');
insert into Reviewer values(205, 'Chris Jackson');
insert into Reviewer values(206, 'Elizabeth Thomas');
insert into Reviewer values(207, 'James Cameron');
insert into Reviewer values(208, 'Ashley White');
insert into Rating values(201, 101, 2, '2011-01-22');
insert into Rating values(201, 101, 4, '2011-01-27');
insert into Rating values(202, 106, 4, null);
insert into Rating values(203, 103, 2, '2011-01-20');
insert into Rating values(203, 108, 4, '2011-01-12');
insert into Rating values(203, 108, 2, '2011-01-30');
insert into Rating values(204, 101, 3, '2011-01-09');
insert into Rating values(205, 103, 3, '2011-01-27');
insert into Rating values(205, 104, 2, '2011-01-22');
insert into Rating values(205, 108, 4, null);
insert into Rating values(206, 107, 3, '2011-01-15');
insert into Rating values(206, 106, 5, '2011-01-19');
insert into Rating values(207, 107, 5, '2011-01-20');
insert into Rating values(208, 104, 3, '2011-01-02');
私はこのような他の比較的類似の質問がありますが、私は上のいくつかの助けを得ればこの1つでは、このパターンとテクニックをこのパターンから次のパターンに適用できるはずです。
ありがとうございます! :)要件の説明から
これは別の質問(私は間違ってもともと間違った質問を投稿し、この質問を正しい質問で更新しました)にもかかわらず、回答に感謝します。あなたのフィードバックはいくつかの他の質問にも役立ちます:) – Rob
@Rob私は私の答えを編集しました。 –