Hi, try this:

SELECT courses.coursetitle,reservationid 
FROM courses,applicant LEFT JOIN reservation 
ON (reservation.applicantid = applicant.applicantid AND
reservation.coursesid = courses.coursesid) 
WHERE applicant.applicantid = 1

This gives you all courses an reservationid>0 if applicant has signed,
NULL if hasn't signed.

On Thu, 2002-04-25 at 22:47, tgharris wrote:
> Hi --
> 
> I have been trying to solve this problem with a left join, and wonder what
> I am missing:
> 
> I have three tables:
> - applicant (applicantid firstname lastname etc)
> - courses(coursesid coursetitle etc)
> - reservation (reservationid, applicantid,coursesid etc)
> 
> What I want to do is get a list of the courses an applicant has signed
> up for AND the list of courses he hasn't (from the reservation table).
> so far I thought a left join would work; however since there is more
> than one
> applicant in the reservation table, using NULL and NOT NULL don't work,
> neither does WHERE reservation.applicantid= '1' (with the '1' to be
> changed to the the applicant's id number) 
> 
>  this is as close as I have gotten(using two queries- the first query
> works:
> first query:
> SELECT courses.coursetitle, courses.coursesid from courses
> LEFT JOIN
> reservation ON courses.coursesid=reservation.coursesid  where
> reservation.applicantid = 1
> order by coursesid
> 
> +--------------+-----------+
> | coursetitle  | coursesid |
> +--------------+-----------+
> | dreamweaver1 |         3 |
> | coursename1  |        13 |
> | cname12      |        14 |
> +--------------+-----------+
> 
> but I have not suceeded in getting the courses the applicant has NOT
> signed up for...
> thes query doesn't work, since it gives courses other applicants have
> signed up for that are the same as applicant 1...:
> 
> second query:
> select courses.coursesid, courses.coursetitle 
> from courses 
> LEFT JOIN reservation ON courses.coursesid=reservation.coursesid 
> where reservation.applicantid != 1 group by coursesidorder by coursesid
> 
>  I looked into temp tables and
> select as well, but didn't get any closer. It seems one query should solve
> this. Hopefully someone with more
> experience can help.
> 
> thanks,
> 
> thomas
> 
> (sql query)
> 
> 
> 
> ---------------------------------------------------------------------
> Before posting, please check:
>    http://www.mysql.com/manual.php   (the manual)
>    http://lists.mysql.com/           (the list archive)
> 
> To request this thread, e-mail <[EMAIL PROTECTED]>
> To unsubscribe, e-mail <[EMAIL PROTECTED]>
> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
> 
-- 
Diana Soares
Websolut - Soluções Internet
Email: [EMAIL PROTECTED]


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to