2009-05-14 13 views
-1

Salut les gars, pourriez-vous m'aider s'il vous plaît ici.Combinaison d'une instruction select de boolean

SELECT e.name, IF e.active = 0 ALORS = true e.active OÙ e.id = # {} estate_id AUTRE e.active = false OÙ e.id = # {} estate_id END IF aS Estate_status dE domaines e

+2

Quelle est votre véritable question? – rudolfson

Répondre

4

Cette syntaxe est db2 comme vous ne l'avez pas mentionné que dB que vous utilisez:

select e.name, 
    case when e.active = 0 then 'TRUE' 
     else 'FALSE' 
    end AS Estate_status, 
    from estates e 
where e.id = #{estate_id} 
+0

Merci cela a fonctionné comme un charme, par la façon dont j'utilise mysql .. –

+0

Cela a fonctionné avec la même syntaxe ou avez-vous dû l'éditer? –

+0

Je suis content que ça a marché :) –

0

Je suis confus par le reste de votre instruction SQL. Qu'essayez-vous exactement d'accomplir?

Cependant, en ce qui concerne la question elle-même, vous ne pouvez pas utiliser une instruction IF dans le SQL comme ça. Vous pouvez cependant utiliser un statment CASE, tels que:

CASE 
    WHEN e.active = 0 THEN 'true' 
    ELSE 'false' 
END 
1
déclaration

de cas d'utilisation: SELECT e.name, (cas où e.active = 0 ALORS e.active = 1 = 0 ELSE e.active END) AS Estate_status FROM domaines e WHERE e.id = # {estate_id}

Questions connexes