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

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

Таким образом, в конце первые 4 поля не должны быть выбраны в одинаковом сочетании 2 раза. Можно ли это сделать без вложенных запросов, и если нет то как с вложенным попроще.
...
Рейтинг: 0 / 0
выбрать строки если есть с непустым полем или с пустым если нет
    #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
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / выбрать строки если есть с непустым полем или с пустым если нет
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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