mysqlsqlinverse-transform

SQL Statement - SELECT the inverse of this query


I have this query and i want to select the inverse of what that select.

SELECT Guide.id FROM Guide
INNER JOIN GuideAvailability ON Guide.id = GuideAvailability.guideId
WHERE GuideAvailability.startDate IN (1377946800)
GROUP BY GuideAvailability.guideId
HAVING COUNT(DISTINCT GuideAvailability.id) = 1

Is there a easy way to solve my problem ?


Solution

  • Simply use this query:

    SELECT * 
         FROM Guide where id NOT IN (
           SELECT Guide.id 
             FROM Guide
             INNER JOIN GuideAvailability ON Guide.id = GuideAvailability.guideId
             WHERE GuideAvailability.startDate IN (1377946800) 
             GROUP BY GuideAvailability.guideId 
             HAVING COUNT(DISTINCT GuideAvailability.id) = 1
          )