Primero: estoy ejecutando postgresql 8.2 y probando mis consultas en pgAdmin.Caso de Postgresql y campos booleanos de prueba
Tengo una tabla con algunos campos, dicen:
mytable(
id integer,
mycheck boolean,
someText varchar(200));
Ahora, yo quiero una consulta similary a esto:
select id,
case when mycheck then (select name from tableA)
else (select name from tableB) end as mySpecialName,
someText;
Traté de correr y conseguir esto:
ERROR: CASE types character varying and boolean cannot be matched
SQL state: 42804
E incluso tratando de engañar a postgresql con
case (mycheck::integer) when 0 then
no funcionó.
Entonces, mi pregunta es: dado que sql no tiene si, solo el caso, ¿cómo se supone que debo hacer un if con un campo booleano?