| From: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
|---|---|
| To: | Roberto Mello <rmello(at)cc(dot)usu(dot)edu> |
| Cc: | <pgsql-sql(at)postgresql(dot)org> |
| Subject: | Re: Getting matching and non-matching results (long) |
| Date: | 2001-12-05 21:07:20 |
| Message-ID: | 20011205130527.W17641-100000@megazone23.bigpanda.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-sql |
> create table sds_grades (
> grade_id integer
> constraint sds_grades_pk primary key,
> grade_name varchar(100)
> );
>
> create table sds_offenders (
> offender_id integer
> constraint sds_offenders_pk primary key,
> participant_id integer
> constraint sds_offenders_part_id_fk references sds_participants,
> incident_id integer
> constraint sds_offenders_incident_id_fk references sds_incidents on delete cascade,
> unknown_count integer,
> grade_id integer
> constraint sds_offenders_grade_id_fk references sds_grades,
> ...
> );
>
> SELECT COUNT(incident_id), drug_name, grade_name
> FROM sds_offenders o, sds_drugs d, sds_drug_offenses do, sds_grades g
> WHERE o.drug_p = 't'
> AND o.offender_id = do.offender_id
> AND d.drug_id = do.drug_id
> GROUP BY drug_name, grade_name, d.sort_key
> ORDER BY d.sort_key
I think you need a
g.gradeid=o.gradeid
in the where clause as well to constrain g to
the grade for which the offender belonged, right?
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Martín Marqués | 2001-12-05 21:19:11 | Re: INT OR VARCHAR |
| Previous Message | Aasmund Midttun Godal | 2001-12-05 21:03:56 | Re: INT OR VARCHAR |