Jump to content
Querendo_ser_Nerd

Retornar um único valor coluna

Recommended Posts

Boa tarde,

 

Prezado, estou realizando uma consulta select , na qual existe uma coluna derivada de um subselect que me retorna um total, porém na consulta em si existe vários itens e quando os itens são do mesmo código de fornecedor a coluna repete vairas vezes, exemplo,

 

 

select coluna 1 , coluna 2 coluna 3 ,( select total from ... TABELA 2  WHERE COLUNA 1 = TABELA1.COLUNA 1 ) as total

from TABELA 1 

 

resultato

 

COLUNA 1    ||  COLUNA 2 || COLUNA 3 || TOTAL

     10                  PRODUTO           A               20

     12                  PRODUTO2         A               20

     13                  PRODUTO3         B               30

     14                  PRODUTO4         B               30

 

Precisamos que sai assim;

 

COLUNA 1    ||  COLUNA 2 || COLUNA 3 || TOTAL

     10                  PRODUTO           A               null

     12                  PRODUTO2         A               null

                                                                          20

     13                  PRODUTO3         B               null

     14                  PRODUTO4         B               null

                                                                           30

 

obrigado.

 

Share this post


Link to post
Share on other sites

Creio que por sql não , a solução deveria ficar na montagem do relatório

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By alextds
      olá gostaria de saber como fazer para obter o rank das 5 maiores vendas.
      tenho a seguinte tabela:
       
      data                 produto    valor
      31/01/2018    calça       100
      31/01/2018    calça        50
      31/01/2018    camisa    30
      31/01/2018    camisa    30
      31/01/2018    sapato     75
      31/01/2018    bermuda 100
      31/01/2018    meia         10
      31/01/2018    tenis         65
      31/01/2018    luva          20
      31/01/2018    luva          20
      31/01/2019    calça       100
      31/01/2019    calça        50
      31/01/2019    camisa    30
      31/01/2019    camisa    30
      31/01/2019    sapato    75
      31/01/2019    bermuda 100
      31/01/2019    meia         10
      31/01/2019    tenis         65
      31/01/2019    luva          20
      31/01/2019    luva          20  
       
      Preciso que totalize os valores de acordo a data e produto e que apareça somente os 5 primeiros dessa forma  :
       
      data                 produto       valor   rank
      31/01/2018    calça           150      1
      31/01/2018    bermuda    100       2
      31/01/2018    sapato        75         3
      31/01/2018    tenis            65        4
      31/01/2018    camisa        60        5
      31/01/2019    calça           150      1
      31/01/2019    bermuda     100      2
      31/01/2019    sapato         75        3
      31/01/2019    tenis             65       4
      31/01/2019    camisa         60       5
       
      Se alguém tiver uma solução facil agradeço.
       
       
    • By samuelpanamericana
      Olá Pessoal, estou com um problema com relação ao Oracle em nossas máquinas aqui! Quando tentamos acessar o SGT (sistema de gerenciamento textil) através de um usuário de rede comum sem privilégios administrativos na máquina ele apresenta o seguinte erro ERRO: "Oracle não instalado ou seu caminho é inválido. Consulte o seu superior [\Bin\ORA803.dll]" Código de erro 803 O usuário não tem acesso ao Oracle Path por ser um usuário comum sem privilégios administrativos, devido a problemas de segurança não queremos deixar os usuários com privilégios administrativos evitando assim problemas com a alteração e instalação de programas, abrimos esse tópico para resolver este problema da necessidade de ser um administrador da máquina para executar o SGT, precisamos que usuários sejam comuns para acessá-lo! Confirmei que o usuário está tendo privilégios apropriados no caminho binário Oracle. Os usuários têm acesso completo ao caminho "C: \ Oracle", eu já configurei dessa maneira: Cliquei com o botão direito do mouse na pasta oracle/segurança/usuários do domínio/controle total A única maneira que nosso programa(SGT) pode encontrar a pasta oracle é definir os usuários do domínio para o grupo de administradores Porém tivemos alguns problemas ao fazer isso como por exemplo usuarios instalando programas de terceiro e efetuando alterações nas máquinas. Se alguém já passou pela mesma situação ou situação parecida eu ficaria grato se pudessem ajudar!! Atenciosamente Samuel
    • By Viniciusr9
      Script com retorno de dias uteis no mês ( desconsiderando finais de semana e feriados também ( os mesmos cadastrados em uma tabela )), ajuda!
       
      Boa tarde,
      alguém poderia me ajudar , tentei com alguns que vi pela net , fazendo alterações mas não consegui o que gostaria ainda. Preciso de um script que dado um valor (mês/ano) ele retorne a quantidade de dias uteis nesse mês, desconsiderando os sabados e domingos e os feriados listados na tabela de feriados, em Oracle Sql puro ou PL/SQL  . Agradeço pela ajuda!
    • By fabiojacominidf
      Ola Pessoal!
       
      Aqui na minha empresa não existe um usuário por pessoa e sim um usuário único para todos utilizarem (regras da empresa isso). A forma que eles dizem que controla quem esta acessado o banco é pelo IP da maquina.
       
      Como eu faço para saber qual USUÁRIO, IP E NOME DA MAQUINA que está fazendo SELECT, UPDATE, INSERT, DELETE em uma determinada tabela(s)?
       
      Detalhe, não dou o administrador do banco, somente desenvolvedor.
       
      Estou perguntando isso, porque tem outras diretorias que acessão algumas tabelas que são de minha responsabilidade e não tenho noção se está sendo feito alguma modificação nelas.
       
      Abraços,
    • By Carolm
      Boa Noite, tenho que solucionar um exercício de PL/SQL ,onde devo encontrar um algorítimo/código para poder analisar um CNPJ ,que sera informado pelo usuário,o SQL Developer deve realizar o cálculo para pegar os dígitos validadores desse CNPJ, e por fim analisar se ele é válido ou inválido e no console apresentar o texto : Valido ou inválido dependendo do resultado obtido com o calculo!
      Nesse exercício sera aberta uma "tela" que vai pedir pro usuário digitar o numero do CNPJ,esse CNPJ sera capturado e analisado através de um calculo de validação de CNPJ (ira analisar os dígitos verificadores) e com o resultado ele ira informar ao usuário se o numero é VALIDO ou INVALIDO!
      Enunciado :
      CRIE UM BLOCO ANÔNIMO PL/SQL  ORACLE  QUE IRÁ SOLICITAR PARA O USUÁRIO O NÚMERO DO: CNPJ - BLOCO ANÔNIMO-DÍGITO VERIFICADOR

      Eu rodei o código abaixo  o SQL informou que a função foi compilada,porém não aparece a mensagem dizendo se o numero informado é válido ou inválido...Será que poderiam me ajudar ?
      set serveroutput on ACCEPT CNPJ PROMPT 'Digite o numero do CNPJ' CREATE OR REPLACE FUNCTION CNPJ (p_cgc IN CHAR) RETURN BOOLEAN IS m_total NUMBER := 0; m_digito NUMBER := 0; BEGIN FOR i IN 1..4 LOOP m_total := m_total + substr(p_cgc,i,1) * (6 - i); END LOOP; FOR i IN 5..12 LOOP m_total := m_total + substr(p_cgc,i,1) * (14 - i); END LOOP; m_digito := 11 - mod(m_total,11); IF m_digito > 9 THEN m_digito := 0; END IF; IF m_digito != substr(p_cgc,13,1) THEN RETURN FALSE; END IF; m_digito := 0; m_total := 0; FOR i IN 1..5 LOOP m_total := m_total + substr(p_cgc,i,1) * (7 - i); END LOOP; FOR i IN 6..13 LOOP m_total := m_total + substr(p_cgc,i,1) * (15 - i); END LOOP; m_digito := 11 - mod(m_total,11); IF m_digito > 9 THEN m_digito := 0; END IF; IF m_digito != substr(p_cgc,14,1) THEN RETURN FALSE; END IF; RETURN TRUE; IF CNPJ(14) = TRUE THEN DBMS_OUTPUT.PUT_LINE('VERDADEIRO'); ELSE DBMS_OUTPUT.PUT_LINE('FALSO'); END IF; END; /  

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.