Реквестирую умельца на sql в тред. Никак сам не соображу: есть, условно, таблица, в которой хранятся посты пользователей (POSTS). Есть таблица связей между пользователями - кто кого читает (FRIENDS). Ну и таблица с пользователями (USERS), в которой в числе прочих есть TIMESTAMP - когда пользователь последний раз смотрел ленту. Нужен запрос, который будет возвращать количество постов (но не сами посты!), которые появились во френдленте со времен этого TIMESTAMP. У кого какие идеи?
16 Nov
2013
select
u.u_name,
count(p.p_id)
from
users u
left join friends f on (f.u_id = u.u_id)
left join posts p on (p.p_uid = f.f_id)
where
p.p_time > u.u_timestamp
posts
p_id
p_uid
p_time
friends
u_id
f_id
users
u_id
u_name
u_timestamp
Не?
Голова на выходных не соглашается работать, так что с первого раза могу и промазать :)
Доберусь до проекта - проверю, сенькс!
Ща попробую переделать на 1 юзера, с конкретным id.
Работает. Теперь соображаю, как быть, когда идет речь о нескольких "ветках", в которых надо показать количество новых постов))
Ну, тут можно попробовать группировкой поиграться по постам
Хотя подозреваю, что это будет проще средствами движка сайта сделать, чем запросом :)