select - SQLite - Selecting records that don't have a counterpart in another table -


i have 4 tables:

create table people(     id integer primary key autoincrement,     'first name' text,     'last name' text, );  create table courses(     id integer primary key autoincrement,     'course name' text,     'course refresh rate' integer );  create table [course enrolment](     'person id' integer,     'course id' integer,     foreign key ('person id') references people(id),     foreign key ('course id') references courses(id) );  create table [course participation](     'person id' integer,     'course id' integer,     'date taken' text,     foreign key ('person id') references people(id),     foreign key ('course id') references courses(id) ); 

i trying select people enrolled course, have either never taken course (and therefore don't have record in course participation table) or have taken course more 'course refresh rate' years ago. have written select statement, not working intended.

select [first name],        [last name]   people p        left join courses c        join [course enrolment] ce        join [course participation] cp         on p.id = ce.[person id]          , p.id = cp.[person id]          , c.id = ce.[course id]          , c.id = cp.[course id]   exists(select * [course enrolment] ce_2 ce_2.[person id] = p.id , ce_2.[course id] = c.id )     , ([date taken] < date( 'now', '-' || [course refresh rate] || ' year' )     or not exists(select * [course participation] cp.[person id] = p.id , cp.[course id] = c.id )) ; 

what have done wrong?

select distinct p.id,                 p.[first name],                 p.[last name] people p join [course enrolment] ce on p.id = ce.[person id] join courses c on ce.[course id] = c.id left join [course participation] cp on cp.[person id] = p.id ,                                           cp.[course id] = c.id cp.[date taken] null    or cp.[date taken] < date('now', '-' || c.[course refresh rate] || ' year') 

Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

javascript - addthis share facebook and google+ url -

ios - Show keyboard with UITextField in the input accessory view -