Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / выбрать строки если есть с непустым полем или с пустым если нет / 2 сообщений из 2, страница 1 из 1
24.01.2017, 18:48
    #39390579
maxtorchel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать строки если есть с непустым полем или с пустым если нет
Есть список тарифов, и среди них есть индивидуальные для контрагента, это определяется полем с его id. Так вот надо выбрать тарифы так, чтобы если есть индивидуальный (с его id) то выбрало его, а общий не выбирало, но если нет индивидуального то выбрать общий (с пустым id).

таблица с тарифами упрощенно:
откуда город (int)
куда город (int)
название тарифа (varchar)
способ доставки (varchar)
id контрагента (id|null)

Таким образом, в конце первые 4 поля не должны быть выбраны в одинаковом сочетании 2 раза. Можно ли это сделать без вложенных запросов, и если нет то как с вложенным попроще.
...
Рейтинг: 0 / 0
24.01.2017, 20:13
    #39390629
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать строки если есть с непустым полем или с пустым если нет
Ну типа
Код: sql
1.
2.
3.
4.
SELECT ab.abonent, coalesce(ind.tariff, korp.tariff) tariff
FROM abonents ab
LEFT JOIN tariffs ind ON ab.id = ind.abonent_id AND town_from  = @from AND town_to = @to
LEFT JOIN tariffs korp ON korp.abonent_is IS NULL AND town_from  = @from AND town_to = @to
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / выбрать строки если есть с непустым полем или с пустым если нет / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]