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

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

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 47 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