2015-03-31 3 views
0

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

March 
Result 1 
Result 2 

April 
Result 3 

May 
Result 4 
Result 5 
Result 6 

Используя советы в другом потоке я создал «месяц» таблицу с перечислением месяцев, я сгруппировал с моей таблицей результатов, которая выглядит так.

tid 
start_date 
end_date 
data 

Лучшее, что я могу сделать, это заставить его отображать названия месяцев, но он будет показывать только 1 результат в месяц, а не до 2 - 4 результаты.

Вот запрос, который я использую на своей локальной машине для его проверки.

"SELECT trips.*, months.* 
FROM trips 
RIGHT OUTER JOIN months ON months.month = monthname(trips.start_date) WHERE trips.tid = '$tid' GROUP BY monthname(trips.start_date) ORDER BY trips.start_date"); 

Если кто-то может указать, что я делаю неправильно, это было бы очень признательно.

+0

сделать скрипку sql - показать нам свой стол и сообщить нам, какие поля вы хотите – niyou

+1

что такое результат 1, результат 2? –

+0

Они были просто примерами того, как я хотел отображать записи. Это записи, которые имеют start_date этого месяца. – JCain

ответ

0

Необходимо объединить все поля, которые не сгруппированы.

SELECT sum(trips.data), months.month 
FROM trips 
    RIGHT OUTER JOIN months ON months.month = monthname(trips.start_date) WHERE trips.tid = '$tid' 
GROUP BY months.month 
ORDER BY trips.start_date