terça-feira, 4 de novembro de 2008

Select condicional

Para um mehor desempenho de qualquer sistema, sempre é bom deixar o banco tomar algumas decisões e trazer os resultados formatados para o uso do php.

A mais "clássica" maneira de fazer isso é usando Selects condicionais...

no mysql existem duas maneiras:

- Usando-o:

O mysql oferece a função if($condição , $então , $senao); mas não acho essa abordagem muito prática, (até pq só funciona com ele).

- Usando o SQL:

Pode-se fazer a mesma coisa usando o Padrão do SQL com a expressao Case assim:
SELECT
(CASE
WHEN $condição THEN $então ELSE $senão
END)
FROM Tabela


mas existe um porém, caso tenha varias condições para o mesmo campo o ELSE deve ser o Utimo pois ele "encerra" o condicionamento: por exemplo
SELECT
(CASE
Situacao
WHEN 'A' THEN 'ativo'
WHEN 'I' THEN 'inativo'
ELSE 'pendente'
END)
FROM Tabela


Para cálculos o melhor é usar a outra sintaxe permitida:
SELECT
(CASE
WHEN (nota < 7.0) THEN 'REPROVADO' ELSE 'Aprovado'
END)
FROM Tabela

acho que é isso....
até a proxima!

Nenhum comentário:

Postar um comentário