From: Oliveiros d'Azevedo Cristina <oliveiros.cristina@marktest.pt>
To: Jedrin <jrubiando@gmail.com>
To: pgsql-sql@postgresql.org
Subject: Re: join table problem
Date: Wed, 4 Aug 2010 12:11:35 +0100
Message-ID: <4283335591EA4532BCE90938FCF5136F@marktestcr.marktest.pt> (raw)
References: <433c09b3-b89e-4c66-9849-944d2d97e0e8@f42g2000yqn.googlegroups.com>
Howdy!
> At any rate, say I have 3 tables:
>
> table plant
> id:integer
> name string
>
>
> table seed_supplier
> id: integer
> company_name: string
>
> table plant_seed_supplier
> plant_id
> seed_supplier_id
>
> plant_seed_supplier is a join table that supports a many to many
> relationship between the plant table and the seed supplier table since
> any plant may have multiple seed suppliers and any seed supplier can
> sell seeds for many different plants.
>
> I would like to be able to write a single query that basically does
> this:
>
> It will show only one distinct row for each plant in the database. It
> will show either just one seed_supplier company name associated with
> that plant, or if there is no supplier associated with that plant it
> will show the plant in a row with that field empty.
>
You do not specify what is the seed_supplier company name that should appear
in the case there is more than one
Give this (untested) query a try
SELECT name,MIN(company_name)
FROM plant a
JOIN plant_seed_supplier associative
ON plant_id = a.id
JOIN seed_supplier b
ON b.id = supplier_id
GROUP BY name
Best,
Oliveiros
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: oliveiros.cristina@marktest.pt, jrubiando@gmail.com
Subject: Re: join table problem
In-Reply-To: <4283335591EA4532BCE90938FCF5136F@marktestcr.marktest.pt>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox