У меня есть таблица volunteers_2009, в которой перечислены все добровольцы, и таблица мест, в которой перечислены места, в которые может быть назначен волонтер, они назначены только одному.
Что я хочу сделать, так это распечатать количество волонтеров, назначенных на каждое мероприятие.
Я хочу распечатать его вот так:
Название объекта: количество волонтеров
таблица: volunteers_2009
столбцы: id, name, venue_id
таблица: места столбцы: идентификатор, место проведения
Они связаны по volunteers_2009.venue_id = venues.id
Это то, что у меня есть, но оно не работает должным образом.
$sql = "SELECT venues.venue_name as 'Venue', COUNT(volunteers_2009.id) as 'Number Of
Volunteers' FROM venues ven JOIN volunteers_2009 vol ON
(venues.id=volunteers_2009.venue_id) GROUP BY venues.venue_name ORDER BY
venues.venue_name ASC";
$result = mysql_query($sql);
while(list($name,$vols) = mysql_fetch_array($result)) {
print '<p>'.$name.': '.$vols.'</p>';
}






Не специалист по MySQL, так что это может быть действительно неправильно, но когда вы даете своей таблице псевдоним, разве вам не нужно ссылаться на нее по этому имени.
$sql = "SELECT ven.venue_name as 'Venue', COUNT(vol.id) as 'Number Of
Volunteers' FROM venues ven JOIN volunteers_2009 vol ON
(ven.id=vol.venue_id) GROUP BY ven.venue_name ORDER BY ven.venue_name ASC";
$query = "SELECT ven.venue_name AS 'Venue', count(*) AS 'Number of venues'
FROM volunteers_2009 AS vol, venues AS ven WHERE vol.venue_id = ven.id
GROUP BY ven.venue_name";