[firebase-br] Dúvida SQL
João Paulo
jpcarvalhoi2 em gmail.com
Ter Out 30 17:12:46 -03 2007
Ok obrigado,
funcionou redondinho.
On 10/30/07, Paulo Geloramo <paulogeloramo em terra.com.br> wrote:
>
> Veja exemplos com case abaixo, retirado da pasta doc do Firebird 2.0:
>
>
> SQL Language Extension: CASE
>
> Function:
> Allow the result of a column to be determined by a the results of a
> case expression.
>
> Author:
> Arno Brinkman <firebird em abvisie.nl>
>
> Format:
> <case expression> ::=
> <case abbreviation>
> | <case specification>
>
> <case abbreviation> ::=
> NULLIF <left paren> <value expression> <comma> <value expression>
> <right paren>
> | COALESCE <left paren> <value expression> { <comma> <value
> expression> }... <right paren>
>
> <case specification> ::=
> <simple case>
> | <searched case>
>
> <simple case> ::=
> CASE <value expression>
> <simple when clause>...
> [ <else clause> ]
> END
>
> <searched case> ::=
> CASE
> <searched when clause>...
> [ <else clause> ]
> END
>
> <simple when clause> ::= WHEN <when operand> THEN <result>
>
> <searched when clause> ::= WHEN <search condition> THEN <result>
>
> <when operand> ::= <value expression>
>
> <else clause> ::= ELSE <result>
>
> <result> ::=
> <result expression>
> | NULL
>
> <result expression> ::= <value expression>
>
> Notes:
> See also README.data_type_results_of_aggregations.txt
>
> Examples:
>
> A) (simple)
> SELECT
> o.ID,
> o.Description,
> CASE o.Status
> WHEN 1 THEN 'confirmed'
> WHEN 2 THEN 'in production'
> WHEN 3 THEN 'ready'
> WHEN 4 THEN 'shipped'
> ELSE 'unknown status ''' || o.Status || ''''
> END
> FROM
> Orders o
>
> B) (searched)
> SELECT
> o.ID,
> o.Description,
> CASE
> WHEN (o.Status IS NULL) THEN 'new'
> WHEN (o.Status = 1) THEN 'confirmed'
> WHEN (o.Status = 3) THEN 'in production'
> WHEN (o.Status = 4) THEN 'ready'
> WHEN (o.Status = 5) THEN 'shipped'
> ELSE 'unknown status ''' || o.Status || ''''
> END
> FROM
> Orders o
>
>
>
>
>
>
> ----- Original Message -----
> From: "João Paulo" <jpcarvalhoi2 em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Tuesday, October 30, 2007 3:56 PM
> Subject: [firebase-br] Dúvida SQL
>
>
> Pessoal gostaria de saber se tem alguma forma de utilizar um "if" dentro
> do
> select, fora de procedure.
>
> A situação é a seguinte:
>
> Tenho a tabela A com o campo X, de acordo com o valor do campo, por
> exemplo
> valor = Y vou selecionar na Tabela B o Campo Y se o valor for Z vou
> selecionar o Campo Z
>
> Obrigado.
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista