[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