Mysql 基于条件的SQL 3列查询

Mysql 基于条件的SQL 3列查询,mysql,Mysql,我对SQL还是相当陌生,有一个类似于以下的表 Street | Family | Car -------------------------------- Mayfair | Jones | BMW Mayfair | Jones | Ford Mayfair | Jones | Mazda Mayfair | Smith | BMW Mayfair | Fox | BMW Park Lane | Tay

我对SQL还是相当陌生,有一个类似于以下的表

Street     |  Family  |  Car
--------------------------------
Mayfair    |  Jones   |  BMW
Mayfair    |  Jones   |  Ford
Mayfair    |  Jones   |  Mazda
Mayfair    |  Smith   |  BMW
Mayfair    |  Fox     |  BMW
Park Lane  |  Taylor  |  Ford
Park Lane  |  Taylor  |  Mazda
Park Lane  |  Cole    |  BMW
我想知道是否有一个单一的查询,可以做,以检查特定的街道,看看是否有一辆车,所有家庭的

例如,在上表中,查询只会返回Mayfair的BMW,因为Mayfair上的所有家庭都拥有一辆BMW

我目前只在MySql中使用XAMPP,所以没有任何花哨的服务器或任何设置等等

谢谢

或:


SELECT Family
SELECT Car
可以替换为
SELECT*
。我把它们放在那里只是为了弄清楚查询是如何工作的。
SELECT street, car 
FROM tableX AS t1
GROUP BY street, car
HAVING COUNT(DISTINCT family)
       = ( SELECT COUNT(DISTINCT t2.family)
           FROM tableX AS t2
           WHERE t2.street = t1.street
         )
SELECT DISTINCT street, car               --- show streets and cars
FROM tableX AS a 
WHERE NOT EXISTS                          --- where there is no
  ( SELECT Family                         --- family
    FROM tableX AS f
    WHERE f.Street = a.Street             --- in that street
      AND NOT EXISTS                      --- that hasn't
        ( SELECT Car
          FROM tableX AS c
          WHERE c.Family = f.Family      
            AND c.Car = a.Car             --- that car
        )
  )