Как показано на: How to limit an SQL query to return at most one of something?Как написать SQL-версию этого запроса LINQ?
У меня есть следующие таблицы:
Платформы
- PlatformID
- Имя
Продукты
- ProductID
- Имя
Релизы
- ID
- ProductID
- PlatformID
- Версия
- ReleaseDate
В таблице выпусков хранится каждый выпуск программного продукта для конкретной платформы. Я хочу написать запрос, чтобы вернуть последнюю версию каждого продукта для каждой платформы в таблице выпусков. И.Е. Если я выпуск продукта X версии 2.0 на платформах A, B и C, будет 3 записи в таблице Releases:
- один для продукта X версии 2.0 на платформе A выпущен на 2010-11-17
- один для продукта X версии 2.0 на платформе B выпущен на 2010-11-17
- один для продукта X версии 2.0 на платформе C выпущен 2010-11-17
Итак, учитывая идентификатор продукта, как Я получаю эту информацию? Я попытался использовать GROUP BY, как и решение LINQ, которое я использовал, но, видимо, я не могу перевести LINQ на SQL, а также .NET.
Большое спасибо, первое решение было совершенным. Второй вариант не был бы подходящим, так как я использовал синтаксис Major.Minor.Maintenance.Build для версий, поэтому я не думаю, что 'MAX()' обработал бы это правильно. –