Привет всем Я имею простой ASP-скрипт asp/access, который я бы хотел прочитать из таблицы, названной проекциями для оценок. Оценки вводятся с полем, называемым raceday. Я нашел следующий sql на этом сайте и адаптировал его для соответствия моим именам полей/таблиц.sql рейтинг в доступе с фильтром
SELECT tid ,tots,raceday, 1+ (SELECT COUNT(T1.tots)
FROM rankings AS T1
WHERE T1.tots >T2.tots) AS Rank FROM rankings AS T2
ORDER BY tid asc
Мне нужно найти способ фильтрации по расе и рассчитать ранг возвращенных записей. Следующий код возвращает записи для raceday = 4, но он вычисляет ранг во всех записях.
SELECT tid ,tots, raceday, 1+ (SELECT COUNT(T1.tots)
FROM projections AS T1
WHERE T1.tots >T2.tots) AS Rank FROM projections AS T2
where raceday = '4'
ORDER BY tid asc
При возвращении в ряды по 4 говорят записи в рядах будет 2,12,5,22
Я бы ожидать, что они будут 1, 2, 3, 4
Я также попробовал где raceday = выражение «4» после раздела> t2.tots но он возвращает все записи
Любая помощь будет высоко оценен
Вы должны включить 'где raceday =«4'' внутри подзапроса .. –
спасибо @Mark C. для этого я попробовал, чтобы WHERE raceday = '4' и T1.tots> T2.tots) AS Rank Я получаю ранжирование по raceday, но все равно получаю результаты для других возвращенных возвратов. попробовал добавить отдельные строки в sql, но он все равно возвращает все записи. – Redge
Нам нужно будет увидеть схему и некоторые примеры данных для ранжирования и прогнозов. Я вижу две разные таблицы в вашем вопросе. –