Как получить только первые совпадения в JOIN

374
22 января 2017, 15:02

Есть таблицы:

offers

offer_id item_id is_main
1        1       1
2        1       0
3        1       0
4        2       0 
5        2       0
6        3       0
7        3       1

divisions

item_id     division_id
1           1
2           1
3           1

Есть запрос:

SELECT offers.offer_id , offers.item_id FROM offers
JOIN divisions ON offers.item_id = divisions.item_id
WHERE divisions.division_id IN (1)

Результат должен быть таким: offer_id (1, 4, 7), т.е. должен возвращаться только один offer_id от каждого item_id. Если существует offer_id с is_main = 1, то - он, если нет - то первый сортировкой по offer_id.

Как это реализовать?

READ ALSO
Сумма сумм в запросе

Сумма сумм в запросе

Есть такой запрос

305
Мне кажется, тут слишком много Активити

Мне кажется, тут слишком много Активити

Предположим, что у меня есть приложение, которое хранит информацию об объектах моего городаУ меня есть MainActivity, которая содержит в себе HomeFragment,...

355
Try catch моего теста

Try catch моего теста

Если я правильно понимаю, основной принцип отлова ошибок try catch является в том, чтобы при появлении какой-то определенной - ожидаемой ошибки,...

305
Не запускается Eclipse

Не запускается Eclipse

Работал в Composer (среда на основе Eclipse), программа сама завершила работу и больше не запускается, отображается ошибка, что на скрине

418