Em 17/05/15, Matheus Saraiva<[email protected]> escreveu:
> On 17/05/2015 14:12, Osvaldo Kussama wrote:
>> Em 17/05/15, Matheus Saraiva<[email protected]> escreveu:
>>
>> Faça um LEFT OUTER JOIN com a tabela FRIGOBARS e teste, no resultado,
>> se algum de seus campos é NULL, caso em que não tem frigobar.
>>
>> Osvaldo
>
> Entendo, mas eu quero que o próprio SQL já me retorne nesse formato
>
> numero_quarto | descricao_tipoquarto | valor_quarto |
> capacidade_quarto|frigobar
> 1 Luxo 100,00 3
> 'COM'
> 2 Simples 80,00 2
> 'SEM'
>
> Ou seja, já me retorna com a string 'COM' ou 'SEM', sei que o SELECT CASE
> faz isso:
>
> SELECT CASE WHEN
> quarto_frigobar = numero_quarto
> THEN
> 'COM'
> ELSE
> 'SEM'
> END FROM
> "FRIGOBARS";
>
> Mas eu não sei como deixar isso tudo no mesmo select, ou seja, para cada
> "QUARTO" deve ser verificado se existe um registro em "FRIGOBARS"
>
> _______________________________________________
>
SELECT
"QUARTOS"."numero_quarto",
"TIPOSQUARTO"."descricao_tipoquarto",
"QUARTOS"."valor_quarto",
"QUARTOS"."capacidade_quarto",
CASE WHEN "FRIGOBARS"."quarto_frigobar" IS NOT NULL
THEN 'COM'
ELSE 'SEM'
END AS frigobar
FROM
"QUARTOS"
JOIN
"TIPOSQUARTO" ON "QUARTOS"."tipo_quarto" = "TIPOSQUARTO"."id_tipoquarto"
LEFT OUTER JOIN
"FRIGOBARS" ON "QUARTOS"."numero_quarto" =
"FRIGOBARS"."quarto_frigobar";
SELECT "TIPOSQUARTO"."descricao_tipoquarto", count("QUARTO"."numero_quarto")
FROM "TIPOSQUARTO" INNER JOIN "QUARTO" ON "QUARTO"."tipo_quarto" =
"TIPOSQUARTO"."id_tipoquarto"
GROUP BY "TIPOSQUARTO"."descricao_tipoquarto";
Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral