Есть SQL-запрос:
select *
from products_orders po
left join products p
on p.id = po.product_id
where
po.region_id in (1,2,3,4) and
po.product_id = 100
Суть запроса — выбираем все записи из таблицы
products_orders, у которых код региона в диапазоне
(1,2,3,4) и ID продукта равен 100. Очевидно, что таблица
products_orders — это таблица, которая связывает таблицы
orders и
products. Иными словами, поля order_id и product_id у таблицы
products_orders не уникальные (значения могут повторяться).
В результате запроса получаем таблицу, примерно нечто вроде этого:
Но возникла необходимость, чтобы в получаемой таблице были ещё и те записи, регионы которых (region_id)
не в диапазоне (1,2,3,4). Скажем, есть ещё регионы с кодами 5, 6 и 7. Надо, чтобы в результирующей таблице были просто их ИД-шники.
Т.е., должно быть именно так, как на картинке ниже:
Возможно ли сделать такой запрос без под-селектов? Только на джойнах?