Как отсортировать записи по нескольким критериям в MSSQL?

2 Таблицы с заказами и машинами

В программе я задаю название машины из таблицы, на выходе я должен получить заказы которые выполнялись на ней, как это реализовать?


Ответы (1 шт):

Автор решения: SwaD

Выполнить выборку данных из одной таблицы по фильтру записей из другой можно следующим образом:

Если в подзапросе гарантировано возвращается 1 запись:

Select * From dbo.orders 
where id_rented_car = (
    select id_car from dbo.Cars where model = 'Hyndai Accent'
) 

Для множества записей будет так(Используется IN оператор):

Select * From dbo.orders 
where id_rented_car in (
    select id_car from dbo.Cars where model = 'Hyndai Accent'
)

Выборка без поздапросов, с использованием JOIN оператора:

Select o.* From dbo.orders o
join dbo.Cars c on c.id_car = o.id_rented_car
where c.model = 'Hyndai Accent';
→ Ссылка