Boa tarde pessoal,
Na minha consulta SQL estou tentando fazer um if (case when) e dentro dele faço um select, mais este select retorna mais de uma coluna, como posso resolver essa situação??
Aqui vai o código:
SELECT
CASE
WHEN p.localrealizacao IN(1)
THEN (select u.rua, u.estado, c.cidade, b.bairro from entrevistacoletiva e,bairro b, cidade c, unidade u where e.unidaderealizacao = u.id and
u.cidade_id = c.id and u.bairro_id = b.id )
WHEN p.localrealizacao IN(2)
THEN 'Outros locais'
END as localrealizacao ,
pr.nome as programa,
pj.nome as projeto,
prof.nome as profissional,
s.servico as servico,
p.nomeplano as nomeplano,
ue.unidade as un_execucao,
up.unidade as un_proponente,
prof.nome as profissional,
(to_char(p.data, 'DD/MM/YYYY')) AS data,
p.hora,
p.finalidade,
p.estrategias,
p.objetivo
FROM entrevistacoletiva AS p
LEFT JOIN programa AS pr
ON p.programa_id = pr.id
LEFT JOIN projeto AS pj
ON p.projeto = pj.id
LEFT JOIN profissional as prof
ON p.profissionalreferencia_id = prof.id
LEFT JOIN servico as s
ON p.servico_id = s.id
LEFT JOIN unidade as up
ON p.unidadeproponente_id = up.id
LEFT JOIN unidade as ue
ON p.unidadeexecucao_id = ue.id
WHERE p.id = 1
Alguém da uma luz?
Dá de fazer um If encadeado la dentro seila algo parecido?
Abraços