![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите создать запрос [D7, Access]
Sens © (2004-11-24 11:28:00)Пишу прогу статистики для CS.
Хочу создать запрос, который бы показывал накопительный рейтинг игрока.
тоесть: есть (имя, дата,убийств, смертей) человека за каждый день, необходимо чтобы в дате была сумма (убийств, смертей(предыдущая дата + текушая дата)).
Например:
Имя Дата Убил Умер
Игрок вчера 10 5
Игрок сегодня убил вчера+убил сегодня ...
Игрок завтра убил сегодня+убил завтра ...
Sandman25 (2004-11-24 16:18:00) [1]Вместо последней строки
CDate(t.Death_DAY)=CDate(SELECT MAX(Death_Day) from Rating_By_Day
where Death_DAY<t1.Death_DAY))
А чтобы еще и для первой даты правильно сработало необходимо Left join использовать.
Johnmen (2004-11-24 16:18:00) [2]Это значит, что есть записи в t1, где поле Death_DAY не заполнено.
Sens (2004-11-24 16:11:00) [3]Сделал следующее:
SELECT t.Player,
CDate(t.Death_DAY) AS D1,
(t.KILLS+t1.KILLS) AS kills,
(t.Death+t1.Death) AS Death
FROM
Rating_By_Day AS t,
Rating_By_Day AS t1
Where
(t.Player= t1.Player)
and
CDate(t.Death_DAY)=CDate(t1.Death_DAY)-1
Но проблема в том, что если в датах есть пропуск, т.е.(CDate(t1.Death_DAY)-1)=Nullрасчет дальнейших данных идет неправельно.
Помогите поправить эту ситуацию.
Sens (2004-11-24 11:56:00) [4]to Александр Иванов
Спсибо попробую.
Александр Иванов (2004-11-24 11:45:00) [5]select t.Name, t.Date1, t.Kill + t1.Kill, t.Death + t1.Death
from Table1 t, Table1 t1 where t.Name = t1.Name and t.Date1 = (t1.Date1-1)
Примерно так
Sergey13 (2004-11-24 11:36:00) [6]select Имя,Дата,sum(Убил),sum(Умер )
from CS_table
group by Имя,Дата