Res: [oracle_br] Comando CASE com Select...campo tipo DATA

2008-09-26 Por tôpico Thiago
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/') ,'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/' ) = '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.brmarcelo%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/' ) THEN 1 ELSE
 NULL END) 03,
 COUNT(CASE TR.TSTAMP WHEN TO_DATE('04/ 05/2008', 'dd/MM/' ) THEN 1 ELSE
 NULL END) 04,
 COUNT(CASE TR.TSTAMP WHEN TO_DATE('05/ 05/2008', 'dd/mm/' ) THEN 1 ELSE
 NULL END) 05,
 COUNT(CASE TR.TSTAMP WHEN TO_DATE('06/ 05/2008', 'dd/mm/' ) 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]



RES: [oracle_br] Comando CASE com Select...campo tipo DATA

2008-09-25 Por tôpico Marcelo
SELECT OS.TERM_ID,

COUNT(CASE WHEN TO_CHAR(TR.TSTAMP,’DD/MM/’) = ‘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]
[EMAIL PROTECTED]

* - WWW: www.autopratense.com.br http://www.autopratense.com.br/  

  _  

De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Thiago
Enviada em: quinta-feira, 25 de setembro de 2008 12:12
Para: oracle_br@yahoogrupos.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/') THEN 1 ELSE
NULL END) 03,
COUNT(CASE TR.TSTAMP WHEN TO_DATE('04/05/2008','dd/MM/') THEN 1 ELSE
NULL END) 04,
COUNT(CASE TR.TSTAMP WHEN TO_DATE('05/05/2008','dd/mm/') THEN 1 ELSE
NULL END) 05,
COUNT(CASE TR.TSTAMP WHEN TO_DATE('06/05/2008','dd/mm/') 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]