Obrigado! Funcionou nas duas formas!

Att.,

Thiago





----- Mensagem original ----
De: Wendel Muniz de Oliveira <[EMAIL PROTECTED]>
Para: oracle_br@yahoogrupos.com.br
Enviadas: Quinta-feira, 25 de Setembro de 2008 14:26:41
Assunto: Re: [oracle_br] Comando CASE com Select...campo tipo DATA


oi Thiago, no lugar do case vc pode usar a instrucao DECODE o teu select
fica mais limpo.

SELECT OS.TERM_ID,

COUNT(DECODE( TO_CHAR(TR. TSTAMP,'DD/ MM/YYYY') ,'01/05/2008' ,1,0)) "01"

a sintaxe é a seguinte: decode(campo a ser analisado,valor
possivel1,resultado 1,.....,valor possivelN,resultado N,resultado a ser
mostrado se nenhuma das anteriores atender)

2008/9/25 Marcelo <[EMAIL PROTECTED] e.com.br>

>   SELECT OS.TERM_ID,
>
> COUNT(CASE WHEN TO_CHAR(TR.TSTAMP, 'DD/MM/YYYY' ) = '01/05/2008' THEN 1 ELSE
> 0
> END) "01",
>
> Marcelo Alberto Lauschner
>
> Desenvolvimento de Sistemas
>
> Auto Pratense Ltda
>
> * - Fone: (0XX54) 3242-3620
>
> * - Fax: (0XX54) 3242-3648
>
> * - E-mail: <mailto:[EMAIL PROTECTED] e.com.br<marcelo%40autoprat ense.com. 
> br>
> >
> [EMAIL PROTECTED] e.com.br <marcelo%40autoprat ense.com. br>
>
> * - WWW: www.autopratense. com.br <http://www.autoprat ense.com. br/>
>
> _____
>
> De: [EMAIL PROTECTED] os.com.br <oracle_br%40yahoog rupos.com. br> [mailto:
> [EMAIL PROTECTED] os.com.br <oracle_br%40yahoog rupos.com. br>] Em
> nome de Thiago
> Enviada em: quinta-feira, 25 de setembro de 2008 12:12
> Para: [EMAIL PROTECTED] os.com.br <oracle_br%40yahoog rupos.com. br>
> Assunto: [oracle_br] Comando CASE com Select...campo tipo DATA
>
>
> Pessoas,
>
> Estou com uma dúvida sobre o comando CASE dentro do select.
> Minha intenção no comando abaixo, é mostrar uma tabela com os IDs do lado
> esquerdo (até aí tudo bem) e com várias colunas, cada uma com o número de
> registros do dia correspondente, sendo cada coluna um dia do mês. Aí
> embaixo
> está o que eu tenho já...não coloquei a parte do FROM nem do WHERE, pois
> minha dúvida está somente na parte de cima mesmo.
>
> Reparem que coloquei duas linhas do count com TO_CHAR e o restante com
> TO_DATE. Tentei dessas duas formas, mas o oracle está retornando 0 linhas
> para estes cases.
>
> Se vocês puderem me ajudar a tratar um dado do tipo DATA dentro do case, eu
> agradeço. Realmente estou um pouco perdido. Caso haja alguma forma melhor
> de
> fazer isso (com um comando select), por favor me ajudem. Segue o comando
> abaixo:
>
> SELECT PS.TERM_ID,
> COUNT(CASE TO_CHAR(TR.TSTAMP) WHEN '01/05/2008' THEN 1 ELSE NULL END) "01",
> COUNT(CASE TO_CHAR(TR.TSTAMP) WHEN '02/05/2008' THEN 1 ELSE NULL END) "02",
> COUNT(CASE TR.TSTAMP WHEN TO_DATE('03/ 05/2008', 'dd/mm/yyyy' ) THEN 1 ELSE
> NULL END) "03",
> COUNT(CASE TR.TSTAMP WHEN TO_DATE('04/ 05/2008', 'dd/MM/yyyy' ) THEN 1 ELSE
> NULL END) "04",
> COUNT(CASE TR.TSTAMP WHEN TO_DATE('05/ 05/2008', 'dd/mm/YYYY' ) THEN 1 ELSE
> NULL END) "05",
> COUNT(CASE TR.TSTAMP WHEN TO_DATE('06/ 05/2008', 'dd/mm/YYYY' ) THEN 1 ELSE
> NULL END) "06"
>
> Obrigado!!
>
> Thiago
>
> Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua
> cara @ymail.com ou @rocketmail. com.
> http://br.new. <http://br.new. mail.yahoo. com/addresses>
> mail.yahoo.com/ addresses
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>

[As partes desta mensagem que não continham texto foram removidas]

    


      Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua 
cara @ymail.com ou @rocketmail.com.
http://br.new.mail.yahoo.com/addresses

[As partes desta mensagem que não continham texto foram removidas]

Responder a