Как я могу получить количество каждого значения, основанного на другой таблице? - PullRequest
1 голос
/ 24 октября 2008

У меня есть таблица добровольцев_2009, в которой перечислены все добровольцы, и таблица мест, в которой перечислены места, на которые может быть назначен волонтер, они назначены только одному.

Что я хочу сделать, это распечатать количество добровольцев, назначенных для каждого места.

Я хочу напечатать так:

Название места проведения: количество добровольцев

таблица: волонтеры_2009 столбцы: идентификатор, имя, venue_id

стол: места столбцы: 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>';
}

Ответы [ 2 ]

2 голосов
/ 24 октября 2008

Не 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";
0 голосов
/ 24 октября 2008
$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";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...