Jump to content
asacap1000

resultado em cada linha

Recommended Posts

Galera estou com uma consulta que ainda não consegui entender o porque. gostaria que ela trouxesse em apenas uma linha mas não vem de forma alguma.

 

SELECT BO.LAGER,
               BO.ID_OS,
               K.ID_KLIENT,
               K.SUCHBEGRIFF CNPJ_CPF,
               K.NAME,
               BI.DIV_1 LOTE,
               BI.DIV_10 DI_DDE,
               (SELECT DISTINCT DIS.ID_DISPATCHER
                  FROM FISCAL.DOCHD DC, WMS_EADI.DISPATCHER DIS
                 WHERE DC.DOCHD_DOC_ID = BO.NR_NF
                   AND DC.DOCHD_RPS_DESP = DIS.SUCHBEGRIFF) COD_COMISSARIA,
               (SELECT DISTINCT DIS.BEZ
                  FROM FISCAL.DOCHD DC, WMS_EADI.DISPATCHER DIS
                 WHERE DC.DOCHD_DOC_ID = BO.NR_NF
                   AND DC.DOCHD_RPS_DESP = DIS.SUCHBEGRIFF) COMISSARIA,
               BO.NR_NF,
               BO.DATE_BILL,
               BO.DATE_EMISS,
            --------ABAIXO OS TIPOS DE SERVIÇOS ONDE ESTÃO OCORRENDO CADA RESULTADO ELE CRIA UMA LINHA----------------   
               (SELECT SUM(ROUND(OSI.PREIS, 2))
                  FROM BILL_OS_ITEM OSI
                 WHERE OSI.LAGER = BO.LAGER
                   AND OSI.ID_KLIENT = K.ID_KLIENT
                   AND OSI.ID_OS = BO.ID_OS
                   AND OSI.BILLITE = BI.BILLITE
                   AND OSI.DIV_1 = BI.DIV_1
                      --AND NVL(OSI.DIV_10, 'x') = NVL(BI.DIV_10, 'x')
                   AND OSI.BILLITE IN
                       (SELECT BLL.BILLITE
                          FROM BILL_ITEM BLL, WERTE WER
                         WHERE BLL.TIPO_FAT = WER.WERT
                           AND WER.WERTE_BER = 'ITENSF'
                           AND WER.WERT = 'ARMAZ')) VLR_ARMAZ,
                           
                           
               (SELECT SUM(ROUND(OSI.PREIS, 2))
                  FROM BILL_OS_ITEM OSI
                 WHERE OSI.LAGER = BO.LAGER
                   AND OSI.ID_KLIENT = K.ID_KLIENT
                   AND OSI.ID_OS = BO.ID_OS
                   AND OSI.BILLITE = BI.BILLITE
                   AND OSI.DIV_1 = BI.DIV_1
                      --AND NVL(OSI.DIV_10, 'x') = NVL(BI.DIV_10, 'x')
                   AND OSI.BILLITE IN
                       (SELECT BLL.BILLITE
                          FROM BILL_ITEM BLL, WERTE WER
                         WHERE BLL.TIPO_FAT = WER.WERT
                           AND WER.WERTE_BER = 'ITENSF'
                           AND WER.WERT = 'GER.RISCO')) VLR_GER_RISCO,
                           
                           
               (SELECT SUM(ROUND(OSI.PREIS, 2))
                  FROM BILL_OS_ITEM OSI
                 WHERE OSI.LAGER = BO.LAGER
                   AND OSI.ID_KLIENT = K.ID_KLIENT
                   AND OSI.ID_OS = BO.ID_OS
                   AND OSI.BILLITE = BI.BILLITE
                   AND OSI.DIV_1 = BI.DIV_1
                      --AND NVL(OSI.DIV_10, 'x') = NVL(BI.DIV_10, 'x')
                   AND OSI.BILLITE IN
                       (SELECT BLL.BILLITE
                          FROM BILL_ITEM BLL, WERTE WER
                         WHERE BLL.TIPO_FAT = WER.WERT
                           AND WER.WERTE_BER = 'ITENSF'
                           AND WER.WERT = 'MOVIMENT')) VLR_MOVIMENTACAO,
                           
                           
               (SELECT SUM(ROUND(OSI.PREIS, 2))
                  FROM BILL_OS_ITEM OSI
                 WHERE OSI.LAGER = BO.LAGER
                   AND OSI.ID_KLIENT = K.ID_KLIENT
                   AND OSI.ID_OS = BO.ID_OS
                   AND OSI.BILLITE = BI.BILLITE
                   AND OSI.DIV_1 = BI.DIV_1
                      --AND NVL(OSI.DIV_10, 'x') = NVL(BI.DIV_10, 'x')
                   AND OSI.BILLITE IN
                       (SELECT BLL.BILLITE
                          FROM BILL_ITEM BLL, WERTE WER
                         WHERE BLL.TIPO_FAT = WER.WERT
                           AND WER.WERTE_BER = 'ITENSF'
                           AND WER.WERT = 'DESUNIT')) VLR_DESUNIT,
                           
                           
               (SELECT SUM(ROUND(OSI.PREIS, 2))
                  FROM BILL_OS_ITEM OSI
                 WHERE OSI.LAGER = BO.LAGER
                   AND OSI.ID_KLIENT = K.ID_KLIENT
                   AND OSI.ID_OS = BO.ID_OS
                   AND OSI.BILLITE = BI.BILLITE
                   AND OSI.DIV_1 = BI.DIV_1
                      --AND NVL(OSI.DIV_10, 'x') = NVL(BI.DIV_10, 'x')
                   AND OSI.BILLITE IN
                       (SELECT BLL.BILLITE
                          FROM BILL_ITEM BLL, WERTE WER
                         WHERE BLL.TIPO_FAT = WER.WERT
                           AND WER.WERTE_BER = 'ITENSF'
                           AND WER.WERT = 'PESAGEM')) VLR_PESAGEM,
                           
                           
               (SELECT SUM(ROUND(OSI.PREIS, 2))
                  FROM BILL_OS_ITEM OSI
                 WHERE OSI.LAGER = BO.LAGER
                   AND OSI.ID_KLIENT = K.ID_KLIENT
                   AND OSI.ID_OS = BO.ID_OS
                   AND OSI.BILLITE = BI.BILLITE
                   AND OSI.DIV_1 = BI.DIV_1
                      --AND NVL(OSI.DIV_10, 'x') = NVL(BI.DIV_10, 'x')
                   AND OSI.BILLITE IN
                       (SELECT BLL.BILLITE
                          FROM BILL_ITEM BLL, WERTE WER
                         WHERE BLL.TIPO_FAT = WER.WERT
                           AND WER.WERTE_BER = 'ITENSF'
                           AND WER.WERT LIKE 'AVERBA%')) VLR_AVERBACAO,
                           
                           
               (SELECT SUM(ROUND(OSI.PREIS, 2))
                  FROM BILL_OS_ITEM OSI
                 WHERE OSI.LAGER = BO.LAGER
                   AND OSI.ID_KLIENT = K.ID_KLIENT
                   AND OSI.ID_OS = BO.ID_OS
                   AND OSI.BILLITE = BI.BILLITE
                   AND OSI.BILLITE IN
                       (SELECT BLL.BILLITE
                          FROM BILL_ITEM BLL, WERTE WER
                         WHERE BLL.TIPO_FAT = WER.WERT
                           AND WER.WERTE_BER = 'ITENSF'
                           AND WER.WERT = 'FAT.MINIMO.')) VLR_FAT_MINIMO,
                           
                           
               (SELECT SUM(ROUND(OSI.PREIS, 2))
                  FROM BILL_OS_ITEM OSI
                 WHERE OSI.LAGER = BO.LAGER
                   AND OSI.ID_KLIENT = K.ID_KLIENT
                   AND OSI.ID_OS = BO.ID_OS
                   AND OSI.BILLITE = BI.BILLITE
                   AND OSI.DIV_1 = BI.DIV_1
                      --AND NVL(OSI.DIV_10, 'x') = NVL(BI.DIV_10, 'x')
                   AND OSI.BILLITE IN
                       (SELECT BLL.BILLITE
                          FROM BILL_ITEM BLL, WERTE WER
                         WHERE BLL.TIPO_FAT = WER.WERT
                           AND WER.WERTE_BER = 'ITENSF'
                           AND BLL.BILLITE NOT IN ('21.02', '21.03')
                           AND WER.WERT = 'OUT.SERV.')) VLR_OUTROS_SERV,
                           
                           
               (SELECT SUM(ROUND(OSI.PREIS, 2))
                  FROM BILL_OS_ITEM OSI
                 WHERE OSI.LAGER = BO.LAGER
                   AND OSI.ID_KLIENT = K.ID_KLIENT
                   AND OSI.ID_OS = BO.ID_OS
                   AND OSI.BILLITE = BI.BILLITE
                   AND OSI.DIV_1 = BI.DIV_1
                      --AND NVL(OSI.DIV_10, 'x') = NVL(BI.DIV_10, 'x')
                   AND OSI.BILLITE IN
                       (SELECT BLL.BILLITE
                          FROM BILL_ITEM BLL, WERTE WER
                         WHERE BLL.TIPO_FAT = WER.WERT
                           AND WER.WERTE_BER = 'ITENSF'
                           AND BLL.BILLITE = '21.02'
                           AND WER.WERT = 'OUT.SERV.')) TRANSF_IN,
                           
                           
               (SELECT SUM(ROUND(OSI.PREIS, 2))
                  FROM BILL_OS_ITEM OSI
                 WHERE OSI.LAGER = BO.LAGER
                   AND OSI.ID_KLIENT = K.ID_KLIENT
                   AND OSI.ID_OS = BO.ID_OS
                   AND OSI.BILLITE = BI.BILLITE
                   AND OSI.DIV_1 = BI.DIV_1
                      --AND NVL(OSI.DIV_10, 'x') = NVL(BI.DIV_10, 'x')
                   AND OSI.BILLITE IN
                       (SELECT BLL.BILLITE
                          FROM BILL_ITEM BLL, WERTE WER
                         WHERE BLL.TIPO_FAT = WER.WERT
                           AND WER.WERTE_BER = 'ITENSF'
                           AND BLL.BILLITE = '21.03'
                           AND WER.WERT = 'OUT.SERV.')) TRANSF_OUT
                           
                           
          FROM BILL_OS BO, BILL_OS_ITEM BI, KLIENTEN K
         WHERE BO.LAGER = BI.LAGER
           AND BO.ID_KLIENT = BI.ID_KLIENT
           AND BO.ID_OS = BI.ID_OS
           AND BO.LAGER = K.LAGER
           AND BO.ID_KLIENT = K.ID_KLIENT
           and k.id_klient = '3099'
           and BO.NR_NF = '121304'
           AND BO.STATUS = '90'
        AND TRUNC(BO.DATE_BILL) BETWEEN '28/08/2019' AND '28/08/2019'
         GROUP BY BO.LAGER,
                  BO.ID_OS,
                  K.ID_KLIENT,
                  K.SUCHBEGRIFF,
                  K.NAME,
                  BO.DATE_EMISS,
                  BO.NR_NF,
                  BO.DATE_BILL,
                  BI.BILLITE,
                  BI.DIV_1,
                  BI.DIV_10

image.thumb.png.29f19a5fe8c0bfd8f729fa044db4a1f6.png

 

Alguem consegue identificar neste select porque ele vem assim?

Share this post


Link to post
Share on other sites

Os campos de seu sql não "batem" com a imagem.

Share this post


Link to post
Share on other sites
10 horas atrás, Motta disse:

Os campos de seu sql não "batem" com a imagem.

 

 

é o mesmo sim é que não tinha colocado todso os campos segue dados antes.

 

image.png.d574e424faf3afdcdbf0d1b71480fa77.png

 

 

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 wandoh
      Boa Tarde! estou com um dificuldades de puxar os dados do usuário logado no site. Atualmente estou conseguindo puxar somente o NOME, quando tento puxar o restante da erro! Abaixo segue o Código.
       
      session_start(); //inicializa variaveis $id = "accountid"; $name = ""; $email = ""; $errors = array(); //conexão db $db = mysqli_connect('localhost', 'root', 'senha', 'db') or die("could not connect to database"); //Registrar usuário if (isset($_POST['reg_user'])) { // receives all input values from the form $name = mysqli_real_escape_string($db, $_POST['name']); $email = mysqli_real_escape_string($db, $_POST['email']); $password = mysqli_real_escape_string($db, $_POST['password']); $password2 = mysqli_real_escape_string($db, $_POST['password2']); //form validação: ensure that the form is correctly filled ... // by adding (array_push)) corresponding error unto $errors array if(empty($name)) { array_push($errors, " "); } if(empty($email)) { array_push($errors, " "); } if(empty($pwd)) { array_push($errors, " "); } if($pwd != $pw2) { array_push($errors, " "); } // To protect MySQL injection (more detail about MySQL injection) $name = stripslashes($name); $password = stripslashes($password); // first check the databese to make sure // verifica na db se a usuário existente com o mesmo nome de usuário e email $user_check_query = "SELECT * FROM t_account WHERE name='$name' or email='$email' LIMIT 1"; $result = mysqli_query($db, $user_check_query); $user = mysqli_fetch_assoc($result); if($user) { // if user existente if ($user['name'] === $name) { array_push($errors, " "); } if ($user['email'] === $email) { array_push($errors, " "); } } // Registra o usuário se não haver erros if (count($errors) == 0 ) { $pwd = md5($pwd); print $pwd; $query = "INSERT INTO t_account (name, email, pwd, pw2) VALUES ('$name', '$email', '$password', '$password2')"; mysqli_query($db, $query); $_SESSION['accountid'] = $id;// $_SESSION['name'] = $name; $_SESSION['success'] = 'Você está logado em'; echo " "; //header('location: index.php'); } } //LOGIN USER if (isset($_POST['login_user'])) { $name = mysqli_real_escape_string($db, $_POST['name']); $password = mysqli_real_escape_string($db, $_POST['password']); if (empty($name)) { array_push($errors, " "); } if (empty($password)) { array_push($errors, " "); } if (count($errors) == 0 ) { $pwd = md5($pwd); $query = "SELECT 'email' FROM t_account WHERE name='$name' AND password='$password'"; $results = mysqli_query($db, $query); if (mysqli_num_rows($results)) { $_SESSION['accountid'] = $id;// $_SESSION['name'] = $name; $_SESSION['success'] = 'Você está logado em'; echo " "; //header('location: index.php'); }else{ array_push($errors, " "); } } } Com a variável abaixo, é exibido o nome de quem esta logado.
      $_SESSION["name"] Já com os demais, não e exibido o resultado é apresentado uma msg de erro.
      $_SESSION["email"] Notice: Undefined index: email in Passei em todos os post que tem sobre o assunto, mas infelizmente em meu código não deu certo.
       Sou novo em PHP!
      Preciso puxar todos os dados cadastrado do usuário.
    • By Erika Fragoso
      Boa tarde 
       
      Estou com problema para fechar a a conexão do UTL_SMTP. 
      Quando executo a procedure mais de uma vez,  apresenta erro:  "too many open connections".
       
      Exemplo:
       
      Se executo esse bloco inteiro ele apresenta o erro a seguir:
       
      EXEC ATUALIZACAO(382002, 73, 356.000, 371.900);
      EXEC ATUALIZACAO(382003, 73, 373.600, 386.900);
      EXEC ATUALIZACAO(382004, 73, 389.600, 399.400);
      EXEC ATUALIZACAO(382005, 73, 117.500, 128.200);
      EXEC ATUALIZACAO(382006, 73, 130.900, 138.800);
      EXEC ATUALIZACAO(382007, 73, 146.600, 157.000);
       
       
      ------------ERRO---------------
      0678. 00000 -  "too many open connections"
      *Cause:    An attempt to open a connection failed because too many
                 are already open by this session. The number of allowed
                 connections varies as some may be in use through other
                 components which share the same pool of allowed connections.
      *Action:   Retry after closing some other connection. The number of
                 connections supported is currently not adjustable.
       
      Agora se executo um por um não da erro. A impressão que tenho é que não esta fechando a conexão do UTL_SMTP.
      Ja tentei utilizar o  UTL_SMTP.QUIT e o   UTL_SMTP.CLOSE_CONNECTION  dentro e fora do loop , mas não funcionou.
       
       
      Alguém tem alguma dica do que pode ser feito ?
       
      Segue a procedure :
       
      --Enviar o E-Mail
        IF bEnviaMail then    --(StrDscMsg is not NULL) THEN
          StrCabMail := 'VERSAO : '||p_Versao ||' DIV: '||p_Division ||crlf||crlf||
                        'ID Anti  Novo ID  KM Ini  KM Fim  Lin  Vel  Tipo  H_Ini  H_Fim Motivo  ';
          StrDscMsg  :=  StrCabMail ||crlf|| StrDscMsg;
          
           connmail   := UTL_SMTP.OPEN_CONNECTION('smtp',25);

            FOR RegEmail IN(
                             SELECT MR_MAIL
                               FROM MAIL_REFRESH
                              WHERE MR_GRUPO = 1
                           ) LOOP
                               
           BEGIN
                       ----connmail   := UTL_SMTP.OPEN_CONNECTION('smtp',25);

                      StrMailMsg := 'Date: '   ||TO_CHAR( SYSDATE,'dd Mon yyyy hh24:mi:ss') ||crlf||
                                    'From:  <' ||'restricao@gmail.com'||'>'               ||crlf||
                                    'Subject: '||'REFRESH VERSAO ' || p_Versao ||
                                               TO_CHAR( SYSDATE,' dd/mm/yyyy hh24:mi:ss')   ||crlf||
                                    'To: '     || ToEmail                                   ||crlf||
                                    ' Atualizações que foram retiradas e recolocadas na base ' ||crlf||
                                    ''                                                      ||crlf||                              
                                    'Banco: ' || db_name || ' - ' || schema_name            ||crlf|| 
                                    ''                                                      ||crlf||
                                    StrDscMsg                                               ||crlf||
                                    ''                                                      ||crlf||
                                    ''                                                      ||crlf||
                                    '[ATUALIZACAO]';
                      UTL_SMTP.HELO(connmail,'smtp');
                      UTL_SMTP.MAIL(connmail,'restricao@gmail.com');
                      UTL_SMTP.RCPT(connmail, RegEmail.MR_MAIL);
                      UTL_SMTP.DATA(connmail,StrMailMsg);
                     -- UTL_SMTP.QUIT(connmail);
            END;
             
            End Loop;
                    UTL_SMTP.QUIT(connmail);  
        End If;
        COMMIT;
            
      END;
       
       
    • By Mauricio Molina
      Boa tarde.
       
      Ainda sou iniciante, se puderem me ajudar agradeço!
       
      Estou com uma dificuldade em manter a opção selecionada no  campo select, após salvar os dados em duas situações distintas:
       
      O que mais preciso fazer?
       
      <div class="col-md-2 col-sm-2 col-xs-7"> <div class="form-group"> <label for="config_horario_domingoferiado">Domingo e Feriado<span class="text-danger">*</span></label> <select name="config_horario_domingoferiado" id="config_horario_domingoferiado" class="form-control" value="<?= $data['config']->config_horario_domingoferiado ?>" required> <option>Aberto</option> <option>Fechado</option> </select> </div> </div> <div class="col-md-3 col-sm-3 col-xs-12"> <div class="form-group"> <label for="imovel_financ">Bandeiras<span class="text-danger">*</span></label> <select name="imovel_financ" id="imovel_financ" class="form-control"> <option value=" ">Selecione...</option> <option value="Aceita Financiamento">Aceita Financiamento</option> <option value="Alugado">Alugado</option> <option value="Frente para Mar">Frente para Mar</option> <option value="Lançamento">Lançamento</option> <option value="Oportunidade">Oportunidade</option> </select> </div> </div>  
    • By asacap1000
      Galera salve a todos.
       
      Gostaria de saber se é possivel e se for como fazer.  Tenho um select de faturamento, e nesta consulta ele me traz o numero da NF, ele me traz os ítens faturados. Gostaria de saber se´no próprio select é possível trazer o numero da NF apenas uma vez, e nas outras linhas que estarão vindo os ítens cobrados estes campos ficarem vazios.
       
      Segue exemplo hoje como está e como eu preciso.
       

       
      Como eu preciso:
       

       
       
      Abaixo o select
       
      SELECT A.ID_KLIENT COD, K.NAME NOME, A.BILLITE ITEM, I.DESCRIPTION DESC_ITEM, SUM(A.MNG) QUANT, SUM(ROUND(A.PREIS, 3)) VALOR, BO.NR_NF NF FROM BILL_OS_ITEM A, BILL_ITEM I, KLIENTEN K, BILL_OS BO, (SELECT T.DOCSVE_REF, D.DOCHD_DOC_ID FROM FISCAL.DOCSVE T, FISCAL.DOCHD D WHERE T.DOCSVE_DOC_PRC_ID = D.DOCHD_DOC_PRC_ID) REFE WHERE I.BILLITE = A.BILLITE AND A.ID_KLIENT = K.ID_KLIENT AND BO.NR_NF = REFE.DOCHD_DOC_ID(+) AND BO.ID_KLIENT = K.ID_KLIENT AND BO.STATUS <> '80' AND BO.ID_OS = A.ID_OS AND TRUNC(BO.DATE_EMISS) >= TO_DATE('01/09/2019', 'DD/MM/YYYY') AND TRUNC(BO.DATE_EMISS) <= TO_DATE('30/09/2019', 'DD/MM/YYYY') GROUP BY A.ID_KLIENT, K.NAME, A.BILLITE, I.DESCRIPTION, BO.NR_NF, BO.LOTE, REFE.DOCSVE_REF ORDER BY K.NAME, A.ID_KLIENT, A.BILLITE  
×

Important Information

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