Объединить столбцы, если они не равны - PullRequest
0 голосов
/ 06 января 2012

Я использую следующий запрос SELECT для создания результирующего столбца на основе двух столбцов:

SELECT colA + '(' + colB + ')' AS formattedCol from mytable WHERE ...

Однако, если значения colA и colB равны, мне нужно просто иметь значение colA.

Есть ли способ сделать это в SQL?

Ответы [ 2 ]

3 голосов
/ 06 января 2012

Как вы заметили, @Andrew, IIf используется MS Access, поэтому:

SELECT IIf([colA] = [colB], [colA], [colA] & '(' & colB & ')') AS formattedCol 
FROM mytable WHERE

Обратите внимание, что в MS Access конкатенация строк - &, а не +. Использование + может привести к возвращению нулевого значения, если столбец нулевой.

0 голосов
/ 06 января 2012
SELECT CASE
    WHEN colA = colB
        THEN colA
        ELSE colA + '(' + colB + ')'
    END AS formattedCol from mytable WHERE ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...