Помогите составить SQL-запрос.

GolDenOne

Новичок
Помогите составить SQL-запрос.

$query="SELECT songs.song, songs.id, songs.ispolnitel, songs.album, songs.year, songs.gruppa,golos.date, SUM(golos.golos) AS golosa
FROM songs LEFT OUTER JOIN golos ON golos.song_id = songs.id
WHERE songs.status != 0 AND golos.date <= $date_voting_finish AND golos.date >= $date_voting_start
GROUP BY songs.id
ORDER BY golosa DESC LIMIT $page,$pages";

Данный запрос выбирает все песни из таблицы songs, для которой есть записи в таблице golos за промежуток времени между date_voting_start и date_voting_finish. Затем идет группировка результатов и сортировка по сумме голосов.

Проблема в том, что песни, за которые в промежутке времени не голосовали, вообще не попадают в запрос, т.е. затем не выводятся скриптом. Я хочу сделать, чтобы они попадали в запрос, но с нулевым значением суммы голосов. Что делать? Заранее спасибо.
 

alpine

Новичок
GolDenOne
Попробуй так:
[sql]
SELECT s.song, s.id, s.ispolnitel, s.album, s.year, s.gruppa, g.date, SUM(g.golos) AS golosa
FROM songs as s
LEFT JOIN golos as g ON (
s.id = g.song_id
AND g.date BETWEEN $date_voting_start AND $date_voting_finish
)
WHERE s.status != 0
GROUP BY s.id
ORDER BY golosa DESC LIMIT 0, 10
[/sql]
 
Сверху