From: | Jussi Vainionpää <jjvainio(at)cc(dot)hut(dot)fi> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Trouble with subqueries |
Date: | 2001-01-19 07:34:50 |
Message-ID: | 3A67EE1A.B7319298@cc.hut.fi |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
I have the following two tables:
create table movies (
name varchar(80),
info varchar(80),
length int,
primary key (name)
);
create table ratings (
name varchar(80),
userid varchar(10),
rating char(1),
foreign key (name) references movies,
primary key(name, userid)
);
The tables contain movies and users' ratings of the movies.
I would like to get a listing of all the movies along with how many
users have given the movie some particular rating. The first solution
that I came up with was this:
SELECT name, length, fives
FROM movies,
(SELECT name as rname,
count(*) as fives
FROM ratings
WHERE rating='5'
GROUP BY name)
WHERE name=rname;
but in PostgreSQL 7 it just gives me this error message:
ERROR: parser: parse error at or near "("
I have previously used similar queries in Oracle where they have worked,
so it would seem to me that PostgreSQL doesn't support subselects after
all despite all the claims.
Am I doing something wrong or/and is there some another way of making
this query that would work in PostgreSQL?
From | Date | Subject | |
---|---|---|---|
Next Message | Sharmad Naik | 2001-01-19 09:21:55 | primary key and indexing |
Previous Message | rob | 2001-01-19 04:37:40 | Re: Help with query. (*) |