[oracle_br] Consulta SQL

2016-10-21 Por tôpico 'Carlos Henrique' carl_oracle...@yahoo.com.br [oracle_br]
Boa tarde.

 

Tenho uma aplicação escrita em PHP que acessa uma base Oracle 10g, o usuário 
digita uma palavra e é efetuada uma busca na tabela de leis a procura de 
ocorrências desta palavra nas leis cadastradas. A consulta SQL select é a 
seguinte:

 

SELECT NUMERO_PORTARIA, DATA_PORTARIA, EMENTA, OBSERVACAO FROM PORTARIA WHERE 
UPPER(TRANSLATE(EMENTA,'ŠŽšžŸÁÇÉÍÓÚÀÈÌÒÙÂÊÎÔÛÃÕËÜÏÖÑÝåáçéíóúàèìòùâêîôûãõëüïöñýÿ','SZszYACEIOUAEIOUAEIOUAOEUIONYaaceiouaeiouaeiouaoeuionyy'))
 LIKE '%$words%'

OR  
UPPER(TRANSLATE(OBSERVACAO,'ŠŽšžŸÁÇÉÍÓÚÀÈÌÒÙÂÊÎÔÛÃÕËÜÏÖÑÝåáçéíóúàèìòùâêîôûãõëüïöñýÿ','SZszYACEIOUAEIOUAEIOUAOEUIONYaaceiouaeiouaeiouaoeuionyy'))
 LIKE '%$words%';

 

Onde, $words é uma variável que recebe a palavra digitada pelo usuário, desta 
palavra são retirados os acentos e cedilhas, é passada para maiúscula e 
comparada com os campos da tabela que também tem seus acentos retirados e 
transformados para maiúscula.

 

A minha dúvida consiste no seguinte: Ao executar a aplicação algumas palavras 
não são retornadas, mas se pegar o sql e rodar diretamente no banco eu tenho o 
retorno, por exemplo, a palavra exoneração no banco tenho um retorno com as 
linhas desejadas e via aplicação tenho retorno de zero linhas. Uma outra 
pergunta,  para melhorar a performance seria melhor utilizar match/contains e 
criar um índice de contexto nos campos que serão pesquisados?

Obrigado,

 

Carlos Henrique

 



[oracle_br] consulta sql em ambiente DW

2013-10-04 Por tôpico orfeu lima
Boa tarde Srs. do grupo,
Temos um ambiente de dw com as seguintes configurações.
S. O - Red Hat 5.5
Oracle 11.2.0.3
Discos em ASM
Estou tentando executar o select abaixo, mas não estou conseguindo. A instrução 
está executando mas não termina.
Gostaria de pedir sugestão aos membros do grupo para poder estar melhorando 
essa instrução.
Índices foram criados.
Obrigado
Segue abaixo a instrução sql.
SELECT 
 /*+ index_join(TBBENEFICIARIO IDXTPSEXO,IDXLOTE,IDXLOTE2) */
 /*+ index_join(TBPROJETO 
IDXPROJETO,IDXTP_PROJETO,IDX_PROJETO_COMPLEMENTA,IDXSUPER2,IDXPROJMUN) */
 /*+ index_join(TBTIPOPROJETO IDXTPPROJETO) */
 /*+ index_join(TBProjetoTipoFase IDXTPPROJ,IDXTPROJTPFASE) */
 /*+ index_join(TBPROJETOCONSTITUICAO IDXTPROJTPFASE2) */
 /*+ index_join(TBTIPOSEXO IDXTPSEXO2) */
 /*+ index_join(TBLOTE IDXLOTE2) */
 /*+ index_join(TBDAPGerada IDXGERADA2) */
 /*+ index_join(TBSR IDXSUPER) */
 /*+ index_join(TBUF IDXSUPERUF) */
 /*+ index_join(TBUF IDXSUPERUF) */
 /*+ index_join(TBMUNICIPIO IDXMUNICIPIO) */
 /*+ index_join(TBCREDITO IDXTBCREDITO,IDXTPAGFIN2) */
 /*+ index_join(TBTIPOCREDITO IDXTPTBCREDITO) */
 /*+ index_join(TBAgenteFinanceiro IDXTPAGFIN) */
 /*+ index_join(TBAssentamento IDXASSENTA,IDXASSENTA4) */
 /*+ index_join(TBTipoSituacao IDXASSENTA3) */
 BENEFICIARIO.BENEFICIARIO_IDENT_CODIGO CodigoBeneficiario,
 BENEFICIARIO.BENEFICIARIO_IDENT_NOME NomeBeneficiario,
 BENEFICIARIO.BENEFICIARIO_IDENT_PAI PaiBeneficiario,
 BENEFICIARIO.BENEFICIARIO_IDENT_MAE MaeBeneficiario,
 NACIONALIDADE.BENEFICIARIO_TPNAC_CODIGO CodigoNacionalidade,
 NACIONALIDADE.BENEFICIARIO_TPNAC_DESC Nacionalidade,
 ESTADOCIVIL.BENEFICIARIO_TPESTCIV_CODIGO CodigoEstadoCivil,
 ESTADOCIVIL.BENEFICIARIO_TPESTCIV_DESC EstadoCivil,
 BENEFICIARIO.BENEFICIARIO_IDENT_CPF CPF,
 PROJETO.PROJETO_IDENT_CODIGO CodigoProjeto,
 PROJETO.PROJETO_IDENT_NOME NomeProjeto,
 BENEFICIARIO.BENEFICIARIO_IDENT_PROCADM NumeroProcesso,
 LOTE.beneficiario_lote_numero NumeroLote,
 SEXO.sexo_codigo CodigoSexo,
 SEXO.sexo_descricao Sexo,
 BENEFICIARIO.BENEFICIARIO_IDENT_DTNASC DataNascimento,
 BENEFICIARIO.BENEFICIARIO_IDENT_DTATUALIZA DataAtualizacao,
 SITUACAO.BENEFICIARIO_TIPOSIT_CODIGO CodigoSituacao,
 SITUACAO.BENEFICIARIO_TIPOSIT_DESC Situacao,
 ASSENTAMENTO.BENEFICIARIO_ASSENT_SIT_DATA DataSituacao,
 BENEFICIARIO.BENEFICIARIO_IDENT_DTHOMOLOG DataAssentado,
 CASE WHEN DAP_GERADA.Cod_DAP IS NOT NULL THEN 'SIM' ELSE 'NÃO' END PossuiDAP,
 DAP_GERADA.Cod_DAP CodigoDAP,
 DAP_GERADA.ID_dap_gerada DAPGerada,
 DAP_GERADA.DAP_grupo DAPGrupo,
 DAP_GERADA.DAP_modelo DAPModelo,
 SR.sr_codigo CodigoSR,
 SR.sr_nome NomeSR,
 UF.COUF CodigoUF,
 UF.NOUF NomeUF,
 MUNICIPIO.COMUNIBGE CodigoIBGE,
 MUNICIPIO.NOMUN Municipio,
 PROJETOCOMPLEMENTO.Area Area,
 PROJETOCOMPLEMENTO.Capacidade Capacidade,
 PROJETOTIPOFASE.projeto_tipofase_codigo CodigoFase,
 PROJETOTIPOFASE.projeto_tipofase_descricao Fase,
 TIPOPROJETO.projeto_tipoprojeto_codigo CodigoTipoProjeto,
 TIPOPROJETO.projeto_tipoprojeto_descricao TipoProjeto,
 PROJETOCOMPLEMENTO.DataCriacao DataCriacao,
 CREDITO.crd_id CodigoCredito,
 TIPOCREDITO.tpc_codigo CodigoTipoCredito,
 tiPOCREDITO.tpc_descricao TipoCredito,
 CASE WHEN crd_complementacao  = '0' THEN CREDITO.crd_valor ELSE 0 END 
ValorCredito,
 CREDITO.crd_data_recebimento DataCredito,
 CASE WHEN crd_complementacao  = '1' THEN CREDITO.crd_valor ELSE 0 END 
ValorComplementacao,
 CASE WHEN CREDITO.crd_situacao = 'I' THEN 'INATIVO' ELSE 'ATIVO' END 
SituacaoCredito,
 AGENTEFINANCEIRO.age_financeiro_codigo CodigoAgenteFinanceiro,
 AGENTEFINANCEIRO.age_financeiro_descricao NomeAgenteFinanceiro,
 CASE WHEN CREDITO.crd_recebido = '1' THEN 'SIM' ELSE 'NÃO' END CreditoRecebido,
 MUNICIPIO.des_territorio Territorio,
 MUNICIPIO.amazonia_legal AmazoniaLegal,
 MUNICIPIO.modulo_fiscal ModuloFiscal
FROM
 TBBeneficiario BENEFICIARIO,
 TBNacionalidade NACIONALIDADE,
 TBTipoEstadoCivil ESTADOCIVIL,
 TBProjeto PROJETO,
 TBTipoProjeto TIPOPROJETO,
 TBProjetoComplemento PROJETOCOMPLEMENTO,
 TBProjetoConstituicao PROJETOCONSTITUICAO,
 TBProjetoTipoFase PROJETOTIPOFASE,
 TBTipoSexo SEXO,
 TBLote LOTE,
 TBDAPGerada DAP_GERADA,
 TBSR SR,
 TBUF UF,
 TBMunicipio MUNICIPIO,
 TBCredito CREDITO,
 TBTipoCredito TIPOCREDITO,
 TBAgenteFinanceiro AGENTEFINANCEIRO,
 TBAssentamento ASSENTAMENTO,
  TBTipoSituacao SITUACAO
where
BENEFICIARIO.BENEFICIARIO_TPNAC_CODIGO = 
NACIONALIDADE.BENEFICIARIO_TPNAC_CODIGO 
and BENEFICIARIO.BENEFICIARIO_TPESTCIV_CODIGO = 
ESTADOCIVIL.BENEFICIARIO_TPESTCIV_CODIGO
and BENEFICIARIO.PROJETO_IDENT_CODIGO = PROJETO.PROJETO_IDENT_CODIGO(+)
and PROJETO.PROJETO_TPPROJ_CODIGO = TIPOPROJETO.projeto_tipoprojeto_codigo 
and PROJETO.PROJETO_TPPROJ_CODIGO = TIPOPROJETO.projeto_tipoprojeto_codigo  
   
and PROJETO.PROJETO_IDENT_CODIGO = PROJETOCOMPLEMENTO.PROJETO_IDENT_CODIGO(+)   
  
and PROJETO.PROJETO_IDENT_CODIGO = PROJETOCONSTITUICAO.PROJETO_IDENT_CODIGO(+)  
  
and PROJETOCONSTITUICAO.projeto_tipofase_codigo = 
PROJETOTIPOFASE.projeto_tipofase_c

Re: [oracle_br] Consulta SQL

2008-01-31 Por tôpico Haroldo Gondim
Obrigado a todos!!



2008/1/31 Ricardo Francisco <[EMAIL PROTECTED]>:

>   veja se ajuda... acho que é isso
>
> SELECT COUNT(1),
> p.id_plano
> FROM usuario u,
> planos p,
> plano_contrato pc
> WHERE pc.id_plano = p.id_plano
> AND u.id_plano_contrato = pc.id_plano_contrato
> GROUP BY p.id_plano
>
> --tabela usuario [id_usuario, id_plano_contrato]
>
> --tabela planos_contrato [plano_contrato, id_plano]
> --tabela planos[id_plano, descricao]
>
> flws
>
> Em 30/01/08, Haroldo Gondim Torres Filho <[EMAIL 
> PROTECTED]>
> escreveu:
> >
> > Olá pessoal, sou novo aqui no grupo
> >
> > alguém poderia me ajudar a fazer uma consulta
> >
> > a estrutura e mais ou menos assim
> >
> > tabela usuario [id_usuario, id_plano_contrato]
> > tabela planos_contrato [plano_contrato, id_plano]
> > tabela planos[id_plano, descricao]
> >
> > possui outros atributos, + acho que não influenciem
> >
> > o que eu preciso é a quantidade de usuários por plano
> >
> >
> >
>
> --
> Ricardo Luiz Francisco
> (17) 8132-7311
>
> "É muito melhor arriscar coisas grandiosas, alcançar triunfos e glórias,
> mesmo expondo-se a derrota, do que formar fila com os pobres de espírito
> que
> nem gozam muito nem sofrem muito, porque vivem nessa penumbra cinzenta que
> não conhece vitória nem derrota." Theodore Roosevelt
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Haroldo Gondim Torres Filho


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



Re: [oracle_br] Consulta SQL

2008-01-31 Por tôpico Ricardo Francisco
veja se ajuda... acho que é isso

SELECT COUNT(1),
   p.id_plano
FROM   usuariou,
   planos p,
   plano_contrato pc
WHERE  pc.id_plano = p.id_plano
   AND u.id_plano_contrato = pc.id_plano_contrato
GROUP  BY p.id_plano

--tabela usuario [id_usuario, id_plano_contrato]
--tabela planos_contrato [plano_contrato, id_plano]
--tabela planos[id_plano, descricao]


flws

Em 30/01/08, Haroldo Gondim Torres Filho <[EMAIL PROTECTED]> escreveu:
>
>   Olá pessoal, sou novo aqui no grupo
>
> alguém poderia me ajudar a fazer uma consulta
>
> a estrutura e mais ou menos assim
>
> tabela usuario [id_usuario, id_plano_contrato]
> tabela planos_contrato [plano_contrato, id_plano]
> tabela planos[id_plano, descricao]
>
> possui outros atributos, + acho que não influenciem
>
> o que eu preciso é a quantidade de usuários por plano
>
>  
>



-- 
Ricardo Luiz Francisco
(17) 8132-7311

"É muito melhor arriscar coisas grandiosas, alcançar triunfos e glórias,
mesmo expondo-se a derrota, do que formar fila com os pobres de espírito que
nem gozam muito nem sofrem muito, porque vivem nessa penumbra cinzenta que
não conhece vitória nem derrota." Theodore Roosevelt


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



Re: [oracle_br] Consulta SQL

2008-01-31 Por tôpico Roberto Fernandes Sobrinho
*


*
*

select count*(id_usuario), b.id_plano, c.descricao
*

from *tabela usuario a,

planos_contrato b,

tabela planos c,
*

where *a.id_plano_contrato = b.id_plano

*and *b.id_plano = c.id_plano
*

group by *b.id_plano, c.descricao
Em 30/01/08, Haroldo Gondim Torres Filho <[EMAIL PROTECTED]> escreveu:

>   Olá pessoal, sou novo aqui no grupo
>
> alguém poderia me ajudar a fazer uma consulta
>
> a estrutura e mais ou menos assim
>
> tabela usuario [id_usuario, id_plano_contrato]
> tabela planos_contrato [plano_contrato, id_plano]
> tabela planos[id_plano, descricao]
>
> possui outros atributos, + acho que não influenciem
>
> o que eu preciso é a quantidade de usuários por plano
>
> 
>



-- 
Roberto Fernandes Sobrinho
Deenvolvedor Oracle


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



[oracle_br] Consulta SQL

2008-01-31 Por tôpico Haroldo Gondim Torres Filho
Olá pessoal, sou novo aqui no grupo

alguém poderia me ajudar a fazer uma consulta

a estrutura e mais ou menos assim

tabela usuario [id_usuario, id_plano_contrato]
tabela planos_contrato [plano_contrato, id_plano]
tabela planos[id_plano, descricao]

possui outros atributos, + acho que não influenciem


o que eu preciso é a quantidade de usuários por plano



Re: [oracle_br] Consulta SQL Hierárquica com contador e somatório

2007-09-21 Por tôpico Ricardo Francisco
Olá Ulisses. Dê uma olha em http://www.psoug.org/reference/connectby.html
Pode ser que te ajude...

abs.
Ricardo.

Em 21/09/07, Ulisses Tenorio da Silva <[EMAIL PROTECTED]> escreveu:
>
>   Ola pessoal!
>
> Existe alguns posts tratando de problemas parecidos com o que eu estou
> passando, mas eles não me ajudaram a resolver meu problema.
>
> É o seguinte:
>
> Eu tenho uma tabela hierárquica da seguinte forma:
>
> CREATE TABLE historicos (
> codigo NUMBER(3),
> nome VARCHAR2(30),
> pai NUMBER(3),
> CONSTRAINT fk_pai FOREIGN KEY pai REFERENCES esquema.tabela (codigo)
> );
> COD NOME PAI
> ---  ---
> 001 SUPERMERCADO
> 002 LIMPEZA 001
> 003 ALIMENTACAO 001
> 004 MORADIA
> 005 ALUGUEL 004
> 006 ALUGUEL CASA 005
> 007 ALUGUEL GARAGEM 005
> 008 AGUA 004
> 009 LUZ 004
>
> e tenho outra tabela de lancamentos:
>
> CREATE TABLE esquema.lancamentos (
> data DATE,
> valor NUMBER(10,2),
> historico NUMBER(3),
> CONSTRAINT fk_historico FOREIGN KEY historico REFERENCES historicos
> (codigo)
> );
>
> DATA VALOR HISTORICO
> --  --
> 020507 100,00 002
> 030507 130,00 003
> 070507 50,00 002
> 150507 210,00 006
> 150507 150,00 007
> 160507 30,00 008
> 170507 60,00 008
> 170507 25,00 009
>
> Quero uma consulta SQL que retorne a árvore de históricos, um contador
> de lancamentos e a soma dos valores dos lançamentos, dessa forma:
>
> HISTORICO QTD VLR
>  --- --
> 001 SUPERMERCADO 3 280,00
> 002 LIMPEZA 2 150,00
> 003 ALIMENTACAO 1 130,00
> 004 MORADIA 4 475,00
> 005 ALUGUEL 2 360,00
> 006 ALUGUEL CASA 1 210,00
> 007 ALUGUEL GARAGEM 1 150,00
> 008 AGUA 2 90,00
> 009 LUZ 1 25,00
>
> Mesmo pesquisando muito (sobre SQL hierárquica) não consegui fazê-lo.
>
> Agradeço desde já qualquer dica;
>
> Obrigado!!!
>
> Ulisses
>
>  
>


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



[oracle_br] Consulta SQL Hierárquica com contador e somatório

2007-09-21 Por tôpico Ulisses Tenorio da Silva
Ola pessoal!

Existe alguns posts tratando de problemas parecidos com o que eu estou
passando, mas eles não me ajudaram a resolver meu problema.

É o seguinte:

Eu tenho uma tabela hierárquica da seguinte forma:

CREATE TABLE historicos (
  codigo NUMBER(3),
  nome VARCHAR2(30),
  pai NUMBER(3),
  CONSTRAINT fk_pai FOREIGN KEY pai REFERENCES esquema.tabela (codigo)
);
COD NOME PAI
---  ---
001 SUPERMERCADO
002   LIMPEZA001
003   ALIMENTACAO001
004 MORADIA
005   ALUGUEL004
006 ALUGUEL CASA 005
007 ALUGUEL GARAGEM  005
008   AGUA   004
009   LUZ004

e tenho outra tabela de lancamentos:

CREATE TABLE esquema.lancamentos (
  data DATE,
  valor NUMBER(10,2),
  historico NUMBER(3),
  CONSTRAINT fk_historico FOREIGN KEY historico REFERENCES historicos
(codigo)
);

DATA   VALORHISTORICO
--  --
020507   100,00 002
030507   130,00 003
07050750,00 002
150507   210,00 006
150507   150,00 007
16050730,00 008
17050760,00 008
17050725,00 009

Quero uma consulta SQL que retorne a árvore de históricos, um contador
de lancamentos e a soma dos valores dos lançamentos, dessa forma:

HISTORICOQTDVLR
 --- --
001 SUPERMERCADO   3 280,00
002   LIMPEZA  2 150,00
003   ALIMENTACAO  1 130,00
004 MORADIA4 475,00
005   ALUGUEL  2 360,00
006 ALUGUEL CASA   1 210,00
007 ALUGUEL GARAGEM1 150,00
008   AGUA 2  90,00
009   LUZ  1  25,00

Mesmo pesquisando muito (sobre SQL hierárquica) não consegui fazê-lo.

Agradeço desde já qualquer dica;


Obrigado!!!

Ulisses