0

私は2つのテーブルを手に入れました:

Employers:

id_employe, id_department, city_empl

1, 2,    Barcelona
2, 2,    Barcelona
3, 1,    Madrid
4, null, Sevilla

Departaments: 

id_departament, city_dpt

1, Barcelona
2, Bilbao
3, Madrid

最初に必要なことは、両方のテーブルですべての異なる都市を取得することです。都市ごとに、そこで働いている雇用主の数をリストする必要があります。

したがって、私のクエリは次のようなものを返すはずです。

Barcelona, 2
Madrid,    1
Sevilla,   1
Bilbao,    0/null

UNION を使用してすべての都市を取得しようとしましたが、UNION クエリによって複数の結果が返されるため、SQL ではそれが許可されていません。

何か案が ?

4

1 に答える 1

1

これを試して:

SELECT City, SUM(id_employe IS NOT NULL) AS Num FROM (
  SELECT city_empl AS City, id_employe
  FROM Employers
  UNION ALL
  SELECT city_dpt AS City, null AS id_employe
  FROM Departaments
) AS intbl
GROUP BY City
于 2013-09-25T16:51:09.587 に答える