8

私はこのクエリを持っており、その選択の逆を選択したいと考えています。

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

私の問題を解決する簡単な方法はありますか?

4

3 に答える 3

0

ブール値を反転できます。;)

これは、大量の where フィルターがあり、特定のフィルターの除外セットがある場合に行います。私はそれらをケースの中に書き、除外し=1、除外し=0たものを見つけます。

SELECT Guide.id FROM Guide
INNER JOIN GuideAvailability ON Guide.id = GuideAvailability.guideId
WHERE ( case when GuideAvailability.startDate IN (1377946800) then 1 else 0 end) = 0
GROUP BY GuideAvailability.guideId
HAVING COUNT(DISTINCT GuideAvailability.id) = 1
于 2018-02-01T02:56:20.040 に答える