これにはMySQLを使用しています。
(これを少し明確にするために、無関係な結合を取り除いています)
company_id でグループ化して会社の住所を選択しようとしていますが、特定の国に住所がある場合はユーザー全体を除外します (ID 242)。
だから私が試した最初のクエリは次のとおりです。
SELECT c.company_id
FROM companies c
NATURAL JOIN addresses a
WHERE a.country_id != 15
GROUP BY c.company_id
私が理解していることから、これは最初に選択を行い、次にcountry_idが15の行を除外してから、グループ化されているため、異なる残りの行のcompany_idを返します。
したがって、これは国 15 以外に少なくとも 1 つの住所を持つ会社を返します。必要なのは、その国に住所を持つ会社を除外することです。
これどうやってするの?