Categories
PHP+MySQL

レコード毎にカウントを設ける

タイトルが適切であるか否か、疑問があるのですが、よい言葉が思い浮かばず、自分のボキャブラリーのなさを痛感しております。
要は、次の2つのテーブルにおきまして

エリア(area_table)
no city
1 相模原
2 町田
3 八王子
4 座間
5 大和
派遣先(haken_table)
id staff haken
1 A 相模原
2 B 町田
3 C 町田
4 D 町田
5 E 大和

エリア毎に何件あるのかを次のように出力したい。

エリア毎の派遣先件数
no city cnt
1 相模原 1
2 町田 3
3 八王子 0
4 座間 0
5 大和 1

しかも1回のクエリで取得したい!

SELECT `no`, `city`,
( SELECT COUNT( `id` ) FROM `haken_table` WHERE `haken` = `city` ) AS `cnt`
FROM `area_table` ORDER BY `no`

サブクエリの基本ですね。

[mokurenCB]