2008-10-24 3 views
1

У меня есть таблица volunteers_2009, в которой перечислены все добровольцы и таблица мест, в которых перечислены места, на которые может быть назначен доброволец, они назначаются только одному.Как получить счет каждого значения, исходя из другой таблицы?

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

Я хочу, чтобы напечатать как это:

Наименование Место проведения: # добровольцев

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

стол: Центры столбцы: идентификатор , venue_name

Они связаны по 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

Не человек 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
$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"; 
Смежные вопросы