if you want topics listed which don't yet have messages try

select t.id, t.topic, m.id, m.message from topics t left join messages m on
m.topic = t.id;

On Fri, May 22, 2009 at 8:47 AM, James Kitambara <jameskitamb...@yahoo.co.uk
> wrote:

> Dear Richard Ekblom,
>
> I think Mr. Adrian Klaver gave you the solution. Mine is the similar
> solution
> SELECT message.id,topic.topic,message.message
> FROM topics, messages
> WHERE message.topic=topic.id order by message.id;
>
> After executing this query you will get the following:
>
> id |              topic               |         message
> ----+----------------------------------+--------------------------
>   1 | My favorite food                 | I like lasagna!
>   2 | My favorite food                 | Pizza is also a favorite
>   3 | Are squares better then circles? | I like circles, they
>                                        : remind me of pizza
>
> Best Regards,
>
> *Muhoji James Kitambara*
> *Database Administrator,*
> *B.Sc. With Computer Science and Statistics (Hons),*
> *National Bureau of Statistics,*
> *P.O. Box 796, *
> *Tel : +255 22 2122722/3    Fax: +255 22 2130852,*
> *Mobile : +255 71 3307632,*
> *Dar es Salaam,*
> *Tanzania.*
>
>
> -----------------------------------------ORGINAL
> MESSAGE--------------------------------
> On Friday 22 May 2009 6:48:43 am Richard Ekblom wrote:
> > Hello
> >
> > I have frequently encountered the need of combining two tables into one.
> > First, please take a look at the following table setups...
> >
> > CREATE TABLE topics (
> >    id SERIAL PRIMARY KEY,
> >    topic TEXT NOT NULL
> > );
> >
> > CREATE TABLE messages (
> >    id SERIAL PRIMARY KEY,
> >    topic INTEGER REFERENCES topics(id),
> >    message TEXT NOT NULL
> > );
> >
> > Example of a topics table:
> > ID    TOPIC
> > 1     Are squares better then circles?
> > 2     My favorite food
> >
> > Example of a messages table:
> > ID    TOPIC    MESSAGE
> > 1     2        I like lasagna!
> > 2     2        Pizza is also a favorite
> > 3     1        I like circles, they remind me of pizza
> >
> > Notice that the number of topics may differ from the number of messages.
> >
> > Now I want to combine these tables with a single SELECT to get...
> >
> > Combined table:
> > ID   TOPIC                               MESSAGE
> > 1    My favorite food                    I like lasagna!
> > 2    My favorite food                    Pizza is also a favorite
> > 3    Are squares better then circles?    I like circles, they remind me
> > of pizza
> >
> > I have seen different examples of this with something called JOIN but
> > they always give me only two rows. How can I do this when the two tables
> > may have different sizes to produce exactly the combined table above???
> >
> >
>
>
>

Reply via email to