Criar array dentro de SELECT

Oracle Application Express - web application development tool (antigamente conhecido como Oracle HTML-DB)
Responder
carlynhos77
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 172
Registrado em: Seg, 24 Out 2016 7:20 pm

Ola, boa tarde...

Eu tenho 2 tabelas, uma de lançamentos outro de pagamentos (cada pagamento tem referência a um lançamento).

No caso eu tenho um SELECT da tabela lançamento, ate aí normal... Só que eu preciso criar dentro desse primeiro select, criar outro select da tabela pagamento.

Quando eu rodo o primeiro select, ele pega o ID.
Dentro desse select, a tabela pagamento seria filtrada por esse ID, e o resultado do campo DATA_PAGTO, seria jogado num ARRAY, pois la no relatório eu vou mostrar os registros do primeiro select (lançamento) e na sequencia, já mostraria o conteúdo desse ARRAY (que seria as datas de pagamentos de lançamento)

Então, é um SELECT dentro de outro SELECT, jogando o resultado do segundo select num ARRAY...

OBS: porque eu não faço 2 selects separados? porque estou usando o BIPUBLISHER para gerar os relatórios personalizados, e la no relatório, estou usando uma tabela, dentro de um grupo, mas que eu já tentei selects separados, e os dados d 2 selects separados não aparecem...

Acredito que isso seja simples, para quem saber rsss,, já vi muitos selects dentro do outro, so não achei um q guarde os dados filtrados num array.

Alguém pode me ajudar?? agradeço

se precisar de mais detalhes, me avise
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Bom, se você ta agrupando no BI Publisher, eu acredito que o resultado do seu select seria algo assim:

Selecionar tudo

LCTO PGTO
---  ---  
L1    P1
L1    P2
L1    P3
Ou seja, os dados do lançamento se repetem, caso você tenha mais de um pagamento.
Se não é isso, explica melhor como que ta sendo os seus dados.

Eu acho que você não precisa de nada disso, array, etc.
Explica melhor como que ta vindo os seus dados, e como você precisa que eles venham.

:-o
carlynhos77
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 172
Registrado em: Seg, 24 Out 2016 7:20 pm

Então, os dados aparecem assim mesmo... porém, cada select q crio nos componentes comportilhados do apex, quando eu gero XML e faço o teste no BIPUBLISHER com o word, é criado um grupo de dados, pude perceber que mesclar 2 select separados, os dados não aparecem, então eu preciso trazer 2 selects juntos, dai la no BIPUBLISHER eles serão um grupo só...

Anexei o codigo onde quero incluir um select no meio dele, pegando os pagtos referente aquele lançamento...

vê se entende
Anexos
Formula CONTROLE DE PAGTO forum.docx
formula do select
(11.93 KiB) Baixado 220 vezes
carlynhos77
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 172
Registrado em: Seg, 24 Out 2016 7:20 pm

galera, tive q mudar a forma d obter esses dados d pagto... porém, não estou conseguindo criar um select que armazene o resultado num ARRAY ou outra coisa, que fique +- assim:

Tabela Pagtos: (Cod; Id_Lanc; Val_Pagto; Dt_Pagto), digamos que eu tenha 4 registros salvo na tabela:

Selecionar tudo

                           1        2        1000,00      08/02/2019
                           2        2        2000,00      08/02/2019
                           3        2        3000,00      08/02/2019
                           4        2        4000,00      08/02/2019
Quero filtrar eles e transformar num bloco de texto, tipo:
select CAMPOS from PAGTOS where ID_LANC = 2; (falta um array ou Concatenation)

Isso criasse um texto único, com quebra de linha, assim:

Selecionar tudo

  -------------------------------
  |  1000,00 - 08/02/2019 |
  |  2000,00 - 08/02/2019 |
  |  3000,00 - 08/02/2019 |
  |  4000,00 - 08/02/2019 |
   -------------------------------
Pensei em fazer isso em uma ação dinâmica, DEFINIR VALOR, dai o resultado que seria um bloco de texto, já cairia num terminado campo da pagina, tipo :P_HIST_PAGTO

Assim, eu atendo uma solicitação aqui

alguém tem alguma ideia de como fazer isso ou algo parecido?
carlynhos77
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 172
Registrado em: Seg, 24 Out 2016 7:20 pm

Ola,

então, resolvi o problema da seguinte forma... mudei um pouco a logica que eu estava pensando, fiz uma ação dinamica assim:

Selecionar tudo

SELECT LISTAGG(to_char(VALOR_PAGTO_PRINCIPAL, 'FML999G999G999G999G990D00')||' -- '||TO_CHAR(DATA_PAGAMENTO, 'DD/MM/YYYY'), chr(13) )
WITHIN GROUP (ORDER BY cod) "Product_Listing"
FROM PAGAMENTO_GUIAS WHERE 
COD_LANC_CONTRIBUICOES_mês = :P13_COD
and IDENTIFICACAO = '2'
and PARCELADO = '0'
and id_cidade = :g_id_cidade;
No carregamento da pagina, esse código monta o resultado que eu precisava.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes