Bom dia galera..
vê se isso é possivel...tenho uma tabela com o nome de PRODUTO e com a coluna DS_PRODUTO e DT_CADASTRO.
Quando eu executo esse select ele me traz uma quantidade de linhas:
select ds_produto from produto where dt_cadastro between '01-jul-2012' and '30-jul-2012'
Quando eu executo esse outro select ele me traz uma outra quantidade de linhas:
select ds_produto from produto where dt_cadastro between '01/08/2012' and '30/08/2012'
eu queria quea uniao desses dois selects me resultasse duas colunas para comparar os valores...
select * from(
select ds_produto from produto where dt_cadastro between '01-jul-2012' and '30-jul-2012'
union all
select ds_produto from produto where dt_cadastro between '01/08/2012' and '30/08/2012'
)
quando eu executo esse select acima ele me retorna uma unica coluna com todos os registros...
Duvida ao listar produtos em duas colunas
-
- Rank: Analista Júnior
- Mensagens: 75
- Registrado em: Seg, 19 Mar 2012 2:28 pm
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother,
O Union All vai trazer apenas a coluna "ds_produto" das duas queries.
Caso queira identificar quem é quem, adicione um "alias" conforme abaixo e, veja se é isso o que precisa:
O Union All vai trazer apenas a coluna "ds_produto" das duas queries.
Caso queira identificar quem é quem, adicione um "alias" conforme abaixo e, veja se é isso o que precisa:
select *
from (select ds_produto, 'Julho_2012' as mês_ref
from produto
where dt_cadastro between '01-jul-2012' and '30-jul-2012'
union all
select ds_produto, 'Agosto_2012' as mês_ref
from produto
where dt_cadastro between '01/08/2012' and '30/08/2012')
-
- Rank: Analista Júnior
- Mensagens: 75
- Registrado em: Seg, 19 Mar 2012 2:28 pm
Trevisolli , Dessa maneira eu tb consegui...
a dúvida é saber se é possivel retornar a coluna DS_descrição dividida em duas partes..ex:
DS_descrição DS_descrição
aqui fica o retorno aqui fica o retorno
do 1° select do 2° select
queria saber se é possivel exibir em duas colunas...
a dúvida é saber se é possivel retornar a coluna DS_descrição dividida em duas partes..ex:
DS_descrição DS_descrição
aqui fica o retorno aqui fica o retorno
do 1° select do 2° select
queria saber se é possivel exibir em duas colunas...
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Você tem que resolver tudo isso num sql?
Não pode criar uma Temp, com duas colunas, e jogar essas informações nela?
Abraço,
Não pode criar uma Temp, com duas colunas, e jogar essas informações nela?
Abraço,
-
- Rank: Analista Júnior
- Mensagens: 75
- Registrado em: Seg, 19 Mar 2012 2:28 pm
Hum, boa ideia....
Tem como você dar uma força para criar essa temp?
Há se eu criar a temp quanto tempo ela dura no banco?
Valeu
Tem como você dar uma força para criar essa temp?
Há se eu criar a temp quanto tempo ela dura no banco?
Valeu
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother, sobre a criação, segue um exemplo:
Quando não se informa a cláusula, ele cria automaticamente a GTT com "ON COMMIT DELETE ROWS", ou seja, após o insert, não faça o COMMIT na transação, senão ele apaga as linhas da GTT.
Sobre a GTT (Global Temporary Table), a estrutura dela é criada fisicamente no teu BD, porém, os registros são da sua sessão, ou seja, saindo da sessão ou comitando-a, os mesmos são eliminados.
Porém, não sei se seria a melhor saída e a mais viável (não sei as permissões que você tem pra criação de objetos etc)... vou deixar o post aberto e verificar ainda a opção via querie.
Abraço,
CREATE GLOBAL TEMPORARY TABLE "USUARIO"."PRODUTOS"
( "DS_PRODUTO1" VARCHAR2(100),
"DS_PRODUTO2" VARCHAR2(100)
) ON COMMIT DELETE ROWS ;
Sobre a GTT (Global Temporary Table), a estrutura dela é criada fisicamente no teu BD, porém, os registros são da sua sessão, ou seja, saindo da sessão ou comitando-a, os mesmos são eliminados.
Porém, não sei se seria a melhor saída e a mais viável (não sei as permissões que você tem pra criação de objetos etc)... vou deixar o post aberto e verificar ainda a opção via querie.
Abraço,
-
- Rank: DBA Pleno
- Mensagens: 232
- Registrado em: Sex, 30 Mar 2007 7:26 pm
- Localização: Londrina - PR
Rafael O. Genaro
Seria isso?
Só não acho que os resultados serão satisfatórios..
Se dt_cadastro for do tipo date, use o to_date() para comparar as datas:
Se o campo for do tipo string mesmo... Filtre antes as datas usando o like ou regexp_like, e compare usando o to_date() na coluna dt_cadastro, pois a comparação está sendo realizado como texto, e o between provavelmente não irá trazer as informações que você espera.
select ds_produto
, max( decode( mês, '2012-07', 1, 0 ) ) existe_2012_07
, max( decode( mês, '2012-08', 1, 0 ) ) existe_2012_08
from
(
select ds_produto, dt_cadastro
from produto
where ( ( dt_cadastro between '01-jul-2012' and '30-jul-2012' )
or
( dt_cadastro between '01/08/2012' and '30/08/2012' )
)
)
group by ds_produto
Se dt_cadastro for do tipo date, use o to_date() para comparar as datas:
dt_cadastro between to_date('01/07/2012','dd/mm/yyyy') and to_date('30/07/2012','ddd/mm/yyyy')
-
- Rank: Analista Júnior
- Mensagens: 75
- Registrado em: Seg, 19 Mar 2012 2:28 pm
Valeu pelas dicas....
vou fazer uns testes aqui...
vou fazer uns testes aqui...
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 12 visitantes