Criar array dentro de SELECT

Oracle Application Express - web application development tool (antigamente conhecido como Oracle HTML-DB)
  

Mensagemem Qua, 06 Fev 2019 6:09 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
carlynhos77

Mensagemem Qua, 06 Fev 2019 6:44 pm

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

Código: Selecionar todos
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
dr_gori
Localização: Portland, OR USA

Thomas F. G

Mensagemem Qua, 06 Fev 2019 7:21 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 8 vezes
carlynhos77

Mensagemem Sex, 08 Fev 2019 5:25 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:
Código: Selecionar todos
                           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:
Código: Selecionar todos
  -------------------------------
  |  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

Mensagemem Ter, 12 Fev 2019 3:14 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:

Código: Selecionar todos
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_MES = :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.
carlynhos77



Voltar para Apex

Quem está online

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