Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Начинающий SQL
Guest |
Добрый день. Сегодня с утра вожусь с этим запросом, ничего не придумал, кроме как получать таблицы из БД и в коде их обрабатывать, но на это уходит много времени. В связи с чем обращаюсь к знающим. Помогите написать запрос. Существует 4 таблицы: Dislocation(ID,DislocationDate,CarID,CityID,OperationID) Cars(ID,CarTypeID,CarDescription) CarTypes(ID,TypeDescription) Cities(ID,CityName) Машины перемещаются между городами, совершают какие-либо операции, каждое действие отмечается в таблице Dislocation Необходим запрос на входе которого мы указываем ID города, на выходе получаем TypeDescription, Количество машин этого типа. С условием, что мы берем только последние данные для каждой машины из таблицы (Dislocation) и машина находится в этом городе |
29 окт 13, 12:57 [15046003] Ответить | Цитировать Сообщить модератору |
LexusR Member Откуда: Novosibirsk Сообщений: 1887 |
declare @CityID int set @CityID = 1 -- ID города select TypeDescription ,COUNT(CarID) from Dislocation d join Cars c on c.ID = d.CarID join CarTypes ct on ct.ID = c.CarTypeID where d.CityID = @CityID and not exists(select * from Dislocation where CarID = d.CarID and DislocationDate > d.DislocationDate) group by TypeDescription |
29 окт 13, 13:12 [15046097] Ответить | Цитировать Сообщить модератору |
Начинающий SQL
Guest |
Большое спасибо! Все работает! |
29 окт 13, 13:24 [15046177] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |