Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите написать запрос  [new]
Начинающий 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]     Ответить | Цитировать Сообщить модератору
 Re: Помогите написать запрос  [new]
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]     Ответить | Цитировать Сообщить модератору
 Re: Помогите написать запрос  [new]
Начинающий SQL
Guest
Большое спасибо!
Все работает!
29 окт 13, 13:24    [15046177]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить