Как вывести одно значение из нескольких столбцов - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть итоговая таблица выходных данных, полученная в результате нескольких соединений.

Теперь предположим, что у меня есть следующий результат

Select Product, Price, OwnerA, OwnerB , OwnerC from MyProduct;

и только один столбец имеет значение из трех полей владельца, и я хочу один столбец поля владельца. итоговый результат нужен как следующий Select product, price, owner.

Использование базы данных Oracle

1 Ответ

0 голосов
/ 30 апреля 2018

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

SELECT
    Product,
    Price,
    COALESCE(OwnerA, OwnerB, OwnerC) AS Owner
FROM MyProduct

Трюк COALESCE должен работать здесь, потому что он будет оценивать входные данные слева направо (то есть от владельца от A до B к C) и остановится с первым значением, отличным от NULL. Поскольку вы уверены, что только 1 или 3 владельца будут не NULL, он сможет выбрать это значение не NULL.

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