AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-23059407

Bob's questions

Martin Hope
Bob
Asked: 2025-04-07 14:57:10 +0800 CST

Resumindo o resultado com base em dados históricos

  • 5

Preciso fazer uma soma de um resultado com base na conta e na data da transação. Tenho o seguinte resultado:

 ACCOUNT_ID     TRANSACTION_DATE    AMOUNT
  581            05-SEP-23         309.32
  581            08-SEP-23         1863.76
  581            15-SEP-23         0.26
  581            21-SEP-23         23.17

with transaction_tbl 
 AS (

   select  581 ACCOUNT_ID,  TO_DATE('05-09-2023', 'DD-MM-YYYY') TRANSACTION_DATE,    309.32 AMOUNT from dual
union all
select  581 ACCOUNT_ID,  TO_DATE('08-09-2023', 'DD-MM-YYYY') TRANSACTION_DATE,    1863.76 AMOUNT from dual
union all
select  581 ACCOUNT_ID,  TO_DATE('15-09-2023', 'DD-MM-YYYY') TRANSACTION_DATE,    0.26 AMOUNT from dual
union all
select  581 ACCOUNT_ID,  TO_DATE('21-09-2023', 'DD-MM-YYYY') TRANSACTION_DATE,    23.17 AMOUNT from dual
)
SELECT
    ACCOUNT_ID,TRANSACTION_DATE,AMOUNT
FROM
    transaction_tbl
    --where TRANSACTION_DATE < asofdate ;

Tenho o seguinte caso que não consegui processar.

Caso em que TRANSACTION_DATE < asofdate TO_DATE('06-09-2023', 'DD-MM-AAAA') resultado esperado;

581 05-SEP-23   309.32

Caso em que TRANSACTION_DATE < asofdate TO_DATE('09-09-2023', 'DD-MM-AAAA') resultado esperado;

581 08-SEP-23   2173.08

Caso em que TRANSACTION_DATE < asofdate TO_DATE('18-09-2023', 'DD-MM-AAAA') resultado esperado;

581 15-SEP-23   2173.34

Caso em que TRANSACTION_DATE < asofdate TO_DATE('22-09-2023', 'DD-MM-AAAA') resultado esperado;

581 21-SEP-23   2196.51

A ideia é que eu precise recalcular o resultado com base em dados anteriores para uma data que existe como uma transação.

oracle19c
  • 1 respostas
  • 19 Views
Martin Hope
Bob
Asked: 2024-10-18 01:55:35 +0800 CST

Usando Group By na consulta de atualização

  • 5

Estou tentando calcular o peso usando update. No caso específico, preciso aplicar o agrupamento, pois a carga precisa ser distribuída pelo id do cliente. Mas o agrupamento não está funcionando corretamente aqui. É obrigatório usar update

Resultados

insira a descrição da imagem aqui

Resultado esperado: o resultado esperado é ter alocado por peso com base no ID do cliente e nas participações 0,14/0,14/1/0,71

    CREATE TABLE VALUE_TBL 
     ( CLIEND_ID NUMBER(10),
       VALUE NUMBER,
       WEIGHT NUMBER,
       HOLDINGS VARCHAR(50)
     );

insert into value_tbl1(cliend_id,value,WEIGHT,HOLDINGS) values(1,10,33.33,'GOOGLE');
insert into value_tbl1(cliend_id,value,WEIGHT,HOLDINGS) values(1,10,33.33,'AAPL');
insert into value_tbl1(cliend_id,value,WEIGHT,HOLDINGS) values(2,30,100,'ABB');
insert into value_tbl1(cliend_id,value,WEIGHT,HOLDINGS) values(1,50,33.33,'TESLA');

Tentei a seguinte atualização, mas sem sucesso

  update value_tbl y
  set weight = value / 
  (select sum(value) 
  from value_tbl x 
  group by x.cliend_id)
oracle19c
  • 1 respostas
  • 21 Views
Martin Hope
Bob
Asked: 2024-09-29 21:31:51 +0800 CST

DBMS_JOB.SUBMIT com instrução INSERT

  • 5

Estou tentando implementar o processo com DBMS_JOB.SUBMITuma instrução INSERT, mas não consigo transferir os dados de uma tabela para outra.

DECLARE
    l_job NUMBER;
 BEGIN
    DBMS_JOB.SUBMIT(
       job       => l_job,
       what      => 'BEGIN insert into customers_tbl1 select * from customers_tbl; 
 END;'--,
     --  next_date => SYSDATE--, -- Schedule for 1 hour from now
       --interval  => 'SYSDATE'   -- Reschedule every day
    );
   COMMIT; -- Important to commit the transaction to schedule the job
 END;

Dados da tabela:

    CREATE TABLE customers_tbl 
    ( customer_id number(10),
      customer_name varchar2(50),
      city varchar2(50)
    );
    insert into customers_tbl(customer_id,customer_name,city) values(1,'Albert','Munich');
    insert into customers_tbl(customer_id,customer_name,city) values(2,'Alex','Stuttgart');
    insert into customers_tbl(customer_id,customer_name,city) values(3,'Sasuke','Tokyo');
    
    CREATE TABLE customers_tbl1 
    ( customer_id number(10),
      customer_name varchar2(50),
      city varchar2(50)
    );
oracle19c
  • 1 respostas
  • 22 Views
Martin Hope
Bob
Asked: 2024-01-30 03:50:58 +0800 CST

Loop SQL baseado no resultado da tabela

  • 5

É possível com uma iteração do Loop obter o seguinte resultado da tabela: Cada vez tirar de todos cd_number um número cada e suas datas. Tentei com um loop, mas não consegui iterá-lo da maneira que preciso. Pergunta SQL em detalhes Existe alguma outra maneira de recuperar o resultado específico além de usar um loop?

table result; 
             cd_number  date_begin  date_end
                 1        03-APR-17   03-JUN-19
                 1        25-FEB-19   03-JUN-20
                 1        13-MAR-20   30-JUN-23
                 2        02-NOV-17   30-APR-18
                 2        25-FEB-19   11-OCT-19
                 3        31-DEC-16   30-OCT-17
                 3        21-OCT-21   16-FEB-22
                 3        19-OCT-22   30-JUN-23

           
             Example table with results
             CREATE TABLE tbl28 (cd_Number int, date_begin date, date_end date );

  insert into tbl28 (cd_Number,date_begin,date_end)
  SELECT 1,  '03-APR-17', '03-JUN-19'   FROM DUAL UNION ALL
  SELECT 1,  '25-FEB-19', '03-JUN-19'   FROM DUAL UNION ALL
  SELECT 1,  '13-MAR-20', '30-JUN-23'   FROM DUAL UNION ALL
  SELECT 2,  '02-NOV-17', '30-APR-18'   FROM DUAL UNION ALL
  SELECT 2,  '25-FEB-19', '11-OCT-19'   FROM DUAL UNION ALL
  SELECT 3,  '31-DEC-16', '30-OCT-17'   FROM DUAL UNION ALL
  SELECT 3,  '21-OCT-21', '16-FEB-22'   FROM DUAL UNION ALL
  SELECT 3,  '19-OCT-22', '30-JUN-23'   FROM DUAL;
 
      expected result;
   first iteration    1       03-APR-17   03-JUN-19
                      2       02-NOV-17   30-APR-18
                      3       31-DEC-16   30-OCT-17
   second iteration  
                      1       25-FEB-19   03-JUN-20   
                      2       25-FEB-19   11-OCT-19 
                      3       21-OCT-21   16-FEB-2 2
 and in the third iteration 
                      1       13-MAR-20   30-JUN-23
                      3       19-OCT-22   30-JUN-23   
sql
  • 1 respostas
  • 23 Views
Martin Hope
Bob
Asked: 2023-12-21 22:35:31 +0800 CST

Valor nulo na cláusula where com dois parâmetros diferentes

  • 5

Existe a seguinte estrutura no banco de dados. l_family_id é sempre retornado como parâmetro, mas l_account e l_product_id cada vez que um dos 2 é nulo. Como isso pode ser superado para que eu não receba um erro na seleção Pode ser pesquisada conta ou product_id.

              such as

            select product_id from tbl27 
                where family_id = l_family_id
                and account  = null
                and product_id = l_product_id
                 
               and   
                  
            select product_id from tbl27 
                where family_id = l_family_id
                and account  = l_product_id
                and product_id = null 


             
            family_id       family   account    product_id

               1            family1    101      10
               1            family1    101      20
               1            family1    103      30
               1            family1    103      40
               2            family2    201      110
               2            family2    201      120
               2            family2    204      130
               2            family2    204      140
            




 CREATE TABLE tbl27 (family_id int, family VARCHAR2(30), account int, product_id 
    int);

      insert into tbl27 (family_id,family,account, product_id)
      SELECT 1,  'family1', 101, 10    FROM DUAL UNION ALL
      SELECT 1,  'family1', 101, 20    FROM DUAL UNION ALL
      SELECT 1,  'family1', 103, 30    FROM DUAL UNION ALL
      SELECT 1,  'family1', 103, 40    FROM DUAL UNION ALL
      SELECT 2,  'family2', 201, 110   FROM DUAL UNION ALL
      SELECT 2,  'family2', 201, 120   FROM DUAL UNION ALL
      SELECT 2,  'family2', 204, 130   FROM DUAL UNION ALL
      SELECT 2,  'family2', 204, 140   FROM DUAL;


        Expected result;

            select product_id from tbl27 
            where family_id = 1
            and account  = 101
            and product_id = null 

            product_id
                10
                20

   
                 
            

           
sql
  • 1 respostas
  • 29 Views
Martin Hope
Bob
Asked: 2023-12-07 21:08:06 +0800 CST

Converta o resultado de uma coluna em 2 linhas e mais

  • 6

É possível tirar o resultado de uma coluna e transferi-lo para duas colunas. Tomando o primeiro e o segundo resultados como início e fim e todos os demais da mesma maneira. usei o pivot, mas não obtive nenhum resultado real.

resultado atual

 rn old_date_row 

 1   01-JUN-18
 2   null 
 3   null 
 4   null
 5   22-JUN-18
 6   null
 7   null
 8   null
 9   25-JUN-19
 10  null
 11  null
 12  25-JUN-20

resultado esperado nova tabela

    start_date      end_date
   01-JUN-18       22-JUN-18    
   25-JUN-19       25-JUN-20
sql
  • 1 respostas
  • 32 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Reformatar números, inserindo separadores em posições fixas

    • 6 respostas
  • Marko Smith

    Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não?

    • 2 respostas
  • Marko Smith

    Problema com extensão desinstalada automaticamente do VScode (tema Material)

    • 2 respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Martin Hope
    Fantastic Mr Fox Somente o tipo copiável não é aceito na implementação std::vector do MSVC 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant Encontre o próximo dia da semana usando o cronógrafo 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor O inicializador de membro do construtor pode incluir a inicialização de outro membro? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul O C++20 mudou para permitir a conversão de `type(&)[N]` de matriz de limites conhecidos para `type(&)[]` de matriz de limites desconhecidos? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann Como/por que {2,3,10} e {x,3,10} com x=2 são ordenados de forma diferente? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve