Выбор и объединение данных из 2х таблиц mysql

здравствуйте , пытаюсь решить такую задачу :
есть таблица с id , m1 , m2
поля m1 и m2 одинакового типа , которые одновременно не могут равняться null.
нужно сделать выборку , из n записей отсортированную по id
записи выбираются таким образом
если m1 null , то запись не берётся.
если m1 не null , то возможно 2 случая
1) если m2 не null , то берётся m2 AS m1
2) если m2 null , то берётся m1

могу это сделать по отдельности , т.е выбрать n записей виде 1) и n записей вида 2) и уже средствами какого нибудь языка создать результирующий массив , но хотелось бы всё на sql , если это возможно.
  • Вопрос задан
  • 2496 просмотров
Решения вопроса 1
@Yago
Используйте оператор IF:
www.mysql.ru/docs/man/Control_flow_functions.html
Он также может быть вложенным:
komlenic.com/254/mysql-nested-if-in-select-queries
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
trapwalker
@trapwalker
Программист, энтузиаст
IF'ы только всё запутают. Для вашей задачи есть специальная функция coalesce:
select coalesce(m2, m1)
from my_table
where m1 is not null
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы