View Single Post

   
  #2 (permalink)  
Old 02-28-2008, 08:16 AM
strawberry
 
Posts: n/a
Default Re: Subselect confusion


Derek Fountain wrote:
> I have a table that contains these numbers in a column:
>
> mysql> select distinct course_id from programme_courses;
> +-----------+
> | course_id |
> +-----------+
> | 1 |
> | -1 |
> | -2 |
> | 2 |
> | 3 |
> | 4 |
> | 5 |
> | 6 |
> | 7 |
> | 8 |
> | 65 |


> mysql> select distinct programme_courses.course_id from
> programme_courses where course_id not in (select course_id from courses);
> +-----------+
> | course_id |
> +-----------+
> | 1 |
> +-----------+
> 1 row in set (0.00 sec)
>
> which somewhat puzzles me. If I replace the subquery with the values I
> know it returns, it works as required:
>
> mysql> select distinct programme_courses.course_id from
> programme_courses where course_id not in (65,66,67);
> +-----------+
> | course_id |
> +-----------+
> | 1 |
> | -1 |
> | -2 |
> | 2 |
> | 3 |
> | 4 |
> | 5 |
> | 6 |
> | 7 |
> | 8 |
> | 68 |
> +-----------+
> 11 rows in set (0.00 sec)
>
> Can someone explain where I'm going wrong with my subquery?


select distinct programme_courses.course_id from
programme_courses where

programme_courses.course_id

not in (select course_id from courses);

Reply With Quote