Объединение выбора оператора логического - PullRequest
0 голосов
/ 14 мая 2009

Привет, ребята, не могли бы вы помочь мне здесь.

ВЫБРАТЬ e.name, ЕСЛИ e.active = 0 ТО e.active = true ГДЕ e.id = # {estate_id} ELSE e.active = false ГДЕ e.id = # {estate_id} КОНЕЦ ЕСЛИ AS Estate_status ИЗ усадьбы е

Ответы [ 3 ]

4 голосов
/ 14 мая 2009

Это синтаксис db2, поскольку вы не упомянули, какую БД вы используете:

select e.name,
    case when e.active = 0 then 'TRUE'
        else 'FALSE'
    end AS Estate_status,
    from estates e
where e.id = #{estate_id}
1 голос
/ 14 мая 2009

инструкция по применению: SELECT e.name, (случай, когда e.active = 0 THEN e.active = 1 ELSE e.active = 0 END) AS Estate_status FROM estates e WHERE e.id = # {estate_id}

0 голосов
/ 14 мая 2009

Меня смущает остальная часть вашего оператора SQL. Что именно вы пытаетесь достичь.

Однако, что касается самого вопроса, вы не можете использовать оператор IF в SQL подобным образом. Однако вы можете использовать CASE-оценку, например:

CASE
    WHEN e.active = 0 THEN 'true'
    ELSE 'false'
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...