Results 1 to 3 of 3
  1. #1
    Ruegen's Avatar
    Ruegen is offline VIP
    Windows 8 Access 2010 64bit
    Join Date
    Jul 2013
    Location
    Australia
    Posts
    1,496

    Exclude IDs in grouped query

    I have a grouped query (max for some fields) and I would like to exclude some records that have bookings - I get the ids of the schools that have bookings from another query

    I can't seem to get the query to exclude whatever id's are in the second query.



    First grouped query is
    Code:
    SELECT Max(tblSchools.NewSchoolsID) AS GSchoolID, Max(tblSchools.SchoolName) AS GSchoolName, tblSchools.SchoolEmail AS GSchoolEmail, Max(tblSchools.[1ContactName]) AS G1ContactName, Max(tblSchools.[1ContactSurname]) AS G1ContactSurname
    FROM (tblSchools LEFT JOIN tblTeacher ON tblSchools.NewSchoolsID = tblTeacher.NewSchoolsID) LEFT JOIN ((tblShows RIGHT JOIN (tblBookings RIGHT JOIN tblJncTeacher ON tblBookings.BookingsID = tblJncTeacher.BookingsID) ON tblShows.ShowsID = tblBookings.ShowsID) LEFT JOIN tblJncShows ON tblShows.ShowsID = tblJncShows.ShowsID) ON tblTeacher.TeacherID = tblJncTeacher.TeacherID
    WHERE (((tblSchools.Removed) Is Null) AND ((tblSchools.AreaID)=67))
    GROUP BY tblSchools.SchoolEmail;
    The second (ungrouped) query is:
    Code:
    SELECT tblSchools.NewSchoolsID, tblBookings.BookingDate, tblJncShows.PerformersID
    FROM (tblSchools INNER JOIN tblTeacher ON tblSchools.NewSchoolsID = tblTeacher.NewSchoolsID) INNER JOIN ((tblShows INNER JOIN (tblBookings INNER JOIN tblJncTeacher ON tblBookings.BookingsID = tblJncTeacher.BookingsID) ON tblShows.ShowsID = tblBookings.ShowsID) INNER JOIN tblJncShows ON tblShows.ShowsID = tblJncShows.ShowsID) ON tblTeacher.TeacherID = tblJncTeacher.TeacherID
    WHERE (((tblBookings.BookingDate)>Date()) AND ((tblJncShows.PerformersID)=18));
    Not sure as to how to build this

  2. #2
    John_G is offline VIP
    Windows 7 32bit Access 2010 32bit
    Join Date
    Oct 2011
    Location
    Ottawa, ON (area)
    Posts
    2,615
    Hi -

    Try your first query like this, with more criteria in the WHERE:

    Code:
    SELECT Max(tblSchools.NewSchoolsID) AS GSchoolID, Max(tblSchools.SchoolName) AS GSchoolName, tblSchools.SchoolEmail AS GSchoolEmail, Max(tblSchools.[1ContactName]) AS G1ContactName, Max(tblSchools.[1ContactSurname]) AS G1ContactSurname
    FROM (tblSchools LEFT JOIN tblTeacher ON tblSchools.NewSchoolsID = tblTeacher.NewSchoolsID) LEFT JOIN ((tblShows RIGHT JOIN (tblBookings RIGHT JOIN tblJncTeacher ON tblBookings.BookingsID = tblJncTeacher.BookingsID) ON tblShows.ShowsID = tblBookings.ShowsID) LEFT JOIN tblJncShows ON tblShows.ShowsID = tblJncShows.ShowsID) ON tblTeacher.TeacherID = tblJncTeacher.TeacherID
    WHERE (((tblSchools.Removed) Is Null) AND ((tblSchools.AreaID)=67)) And (tblSchools.NewSchoolsID not in (Select tblSchools.NewSchoolsID from secondqueryname))
    GROUP BY tblSchools.SchoolEmail

    Replace secondqueryname with the actual name of your second query.

    This excludes all schools listed in the second query.

    John

  3. #3
    Ruegen's Avatar
    Ruegen is offline VIP
    Windows 8 Access 2010 64bit
    Join Date
    Jul 2013
    Location
    Australia
    Posts
    1,496
    Quote Originally Posted by John_G View Post
    Hi -

    Try your first query like this, with more criteria in the WHERE:

    Code:
    SELECT Max(tblSchools.NewSchoolsID) AS GSchoolID, Max(tblSchools.SchoolName) AS GSchoolName, tblSchools.SchoolEmail AS GSchoolEmail, Max(tblSchools.[1ContactName]) AS G1ContactName, Max(tblSchools.[1ContactSurname]) AS G1ContactSurname
    FROM (tblSchools LEFT JOIN tblTeacher ON tblSchools.NewSchoolsID = tblTeacher.NewSchoolsID) LEFT JOIN ((tblShows RIGHT JOIN (tblBookings RIGHT JOIN tblJncTeacher ON tblBookings.BookingsID = tblJncTeacher.BookingsID) ON tblShows.ShowsID = tblBookings.ShowsID) LEFT JOIN tblJncShows ON tblShows.ShowsID = tblJncShows.ShowsID) ON tblTeacher.TeacherID = tblJncTeacher.TeacherID
    WHERE (((tblSchools.Removed) Is Null) AND ((tblSchools.AreaID)=67)) And (tblSchools.NewSchoolsID not in (Select tblSchools.NewSchoolsID from secondqueryname))
    GROUP BY tblSchools.SchoolEmail

    Replace secondqueryname with the actual name of your second query.

    This excludes all schools listed in the second query.

    John
    thanks John_G

    That worked perfectly (and I get it too, so future wise I will not have the same issue)

Please reply to this thread with any new information or opinions.

Similar Threads

  1. Replies: 4
    Last Post: 01-17-2014, 10:53 PM
  2. Retun grouped results of a query
    By cbenisch in forum Access
    Replies: 3
    Last Post: 05-28-2013, 06:27 PM
  3. Finding the Median when in a grouped Query
    By jamesborne in forum Queries
    Replies: 4
    Last Post: 02-22-2012, 08:24 PM
  4. Replies: 1
    Last Post: 10-24-2010, 07:42 PM
  5. Query to Average on Grouped Fields
    By randolphoralph in forum Queries
    Replies: 1
    Last Post: 03-16-2010, 08:03 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Other Forums: Microsoft Office Forums