Assuming your Structure looks similar to the following:
CREATE TABLE tab_lancamento
(
id_lancamento integer,
id_categoria integer,
tipo_lancamento character varying(1)
);
CREATE TABLE tab_categoria
(
id_categoria integer,
descricao text
);
Data:
INSERT INTO tab_categoria ( id_categoria, descricao ) VALUES ( 1, 'Primeira Categoria' );
INSERT INTO tab_categoria ( id_categoria, descricao ) VALUES ( 2, 'Segunda Categoria' );
INSERT INTO tab_categoria ( id_categoria, descricao ) VALUES ( 3, 'Terceira Categoria' );
INSERT INTO tab_lancamento ( id_lancamento, id_categoria, tipo_lancamento ) VALUES ( 1, 1, 'a' );
INSERT INTO tab_lancamento ( id_lancamento, id_categoria, tipo_lancamento ) VALUES ( 2, 2, 'c' );
INSERT INTO tab_lancamento ( id_lancamento, id_categoria, tipo_lancamento ) VALUES ( 3, 3, 'c' );
INSERT INTO tab_lancamento ( id_lancamento, id_categoria, tipo_lancamento ) VALUES ( 4, 1, 'a' );
INSERT INTO tab_lancamento ( id_lancamento, id_categoria, tipo_lancamento ) VALUES ( 5, 2, 'b' );
INSERT INTO tab_lancamento ( id_lancamento, id_categoria, tipo_lancamento ) VALUES ( 6, 3, 'c' );
The following query should work:
SELECT
l.*,
c.descricao AS categoria,
(CASE WHEN l.tipo_lancamento = 'c' THEN 1 ELSE 0 END) AS icone
FROM
tab_lancamento l
JOIN
tab_categoria c ON ( c.id_categoria = l.id_categoria );
Output:
id_lancamento id_categoria tipo_lancamento categoria icone
------------- ------------ --------------- ------------------ ----------
1 1 a Primeira Categoria 0
2 2 c Segunda Categoria 1
3 3 c Terceira Categoria 1
4 1 a Primeira Categoria 0
5 2 b Segunda Categoria 0
6 3 c Terceira Categoria 1