как выбрать данные на основе условия NULL или не NULL mysql 5,7 - PullRequest
0 голосов
/ 17 апреля 2020

у меня есть таблица с именем my_table следующим образом

+------------+-------+-------+
|  product   | type1 | type2 |
+------------+-------+-------+
| Banana     | NULL  | A1    |
| Grape      | NULL  | B1    |
| Watermelon | A     | A1    |
| Orange     | B     | A1    |
+------------+-------+-------+

я хочу выбрать продукт на основе его типа, если type1 NULL, то тип с использованием типа 2, если нет, тогда используйте тип 1

так что ожидаемые результаты, как это

+------------+------+
|  product   | type |
+------------+------+
| Banana     | A1   |
| Grape      | B1   |
| Watermelon | A    |
| Orange     | B    |
+------------+------+

1 Ответ

2 голосов
/ 17 апреля 2020

Использование COALESCE:

SELECT
    product,
    COALESCE(type1, type2) AS type
FROM yourTable;

Функция COALESCE(a, b) вернет a, если это не NULL, в противном случае она вернется к возвращению b.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...