Ir para conteúdo
beto.vanzin

Query traz resultado de pesquisa, mas não dá certo em view,

Recommended Posts

Bom dia. Eu fiz tenho uma view que traz os movimentos de contas correntes. Porém, eu preciso agrupar em uma tabela dinâmica.


Estou tentando fazer  o agrupamento direto pela view. Porém, através de uma query, eu consigo ver o resultado que eu quero, mas pela view, não permite gravar.

 

Veja o script que eu estou usando, e a mensagem de erro ao gravar a view:

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

USE [BANCO]
GO

/****** Object:  View [dbo].[SALDO_CONTA_CORRENTE]    Script Date: 03/06/2019 12:29:55 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO


ALTER  VIEW [dbo].[SALDO_CONTA_CORRENTE]
AS


SELECT            A.EMPRESA,
                C.TIPO_MOVIMENTO AS [TP_MOV],
                A.RATEIO_FILIAL,                
                RTRIM(A.CONTA_CONTABIL) + ' - ' + RTRIM(B.DESC_CONTA) AS [CONTA],                 
                SUM(A.CREDITO) AS DEBITO,
                SUM(A.DEBITO) AS CREDITO,
                SUM(A.DEBITO - A.CREDITO) AS SALDO

 

FROM         dbo.CTB_LANCAMENTO_ITEM A   INNER JOIN
                      dbo.CTB_LANCAMENTO C   ON A.EMPRESA = C.EMPRESA AND A.LANCAMENTO = C.LANCAMENTO INNER JOIN
                      dbo.CTB_CONTA_PLANO B   ON A.CONTA_CONTABIL = B.CONTA_CONTABIL INNER JOIN
                      dbo.CTB_MOVIMENTO_TIPO D   ON C.TIPO_MOVIMENTO = D.TIPO_MOVIMENTO INNER JOIN
                      dbo.CTB_LX_LANCAMENTO_TIPO   ON A.LX_TIPO_LANCAMENTO = dbo.CTB_LX_LANCAMENTO_TIPO.LX_TIPO_LANCAMENTO


WHERE B.CONTA_CORRENTE = '1' AND B.INATIVA = '0'

 

GROUP BY
A.EMPRESA,
C.TIPO_MOVIMENTO,
A.RATEIO_FILIAL,
A.CONTA_CONTABIL,
B.DESC_CONTA

 

ORDER BY A.EMPRESA, A.RATEIO_FILIAL, C.TIPO_MOVIMENTO, A.CONTA_CONTABIL


GO

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

E esta é a mensagem de erro:

 

Msg 1033, Level 15, State 1, Procedure SALDO_CONTA_CORRENTE, Line 29
The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP or FOR XML is also specified.

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Alguém consegue me ajudar com este erro?

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tire o ORDER BY , use o ORDER BY quando der o SELECT na VIEW.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como Motta falou, a msg de erro é bem clara:

Citar

The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP or FOR XML is also specified.

 

Remova o order by e use na execucao da View

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Jhonata Candido
      Bom dia amigos,
       
      Não consigo imprimir na tela o resultado da consulta. Direto no banco o resultado é exibido, porém com o código abaixo não consigo exibir na tela. O que estou fazendo de errado?
       
              <?php                $sql_pagamento = "SELECT SUM(montante_pago) AS valor from dados INNER JOIN agenda ON 'dados.fornecedor' = '$fornecedor' AND 'dados.dt_execucao_prog' > '$lancamento'";                $query_pagamento = mysql_query($sql_pagamento);                while ($exibir = mysql_fetch_array($query_pagamento)){                    echo $exibir['valor'];                 }         ?>  
    • Por edyr0x
      Alguém poderia me ajudar a gerar uma relátório em php?
      preciso gerar uma tabela com total de bolsas vendidas por mês.  com total de cada modelo de bolsa fabricada por mês e total geral
      até consegui, porém gostaria de gerar com os meses nas colunas e só consegui gerar com os meses nas linhas... 
      tentei da seguinte forma:
       
      $link = $conexao;
      $consultar = "SELECT SUM(`resumo_bolsas_80`) AS m80, 
             SUM(`resumo_bolsa_12`) AS m12,
            SUM(`resumo_bolsa_20`) AS m20,
             SUM(`resumo_bolsa_40`) AS m40,
              SUM(`resumo_bolsa_90`) AS m90, 
               SUM(`resumo_bolsa_38`) AS m38, 
             MONTHNAME(resumo_data) AS `mes` 
      FROM  resocor
      GROUP  BY YEAR(`resumo_data`), 
                MONTH(`resumo_data`)"; 
      $resulta = mysqli_query($link, $consultar);
       
      ################## codigo php #######################
      <table>
            <tr>
                  <th class="tg-sg5v">MES</th>
                  <th class="tg-sg5v">80</th>
                  <th class="tg-sg5v">12</th>
                  <th class="tg-sg5v">20</th>
                  <th class="tg-sg5v">40</th>
                  <th class="tg-sg5v">90</th>
                  <th class="tg-sg5v">38</th>
              </tr>
              <?php 
                  foreach ($resulta as $row) {
              ?>
                  <tr>
                     
                      <td class="tg-0w8i"><?php echo $row['mes']; ?></td>
                      <td class="tg-0w8i"><?php echo $row['m80']; ?></td>
                       <td class="tg-0w8i"><?php echo $row['m12']; ?></td>
                       <td class="tg-0w8i"><?php echo $row['m20']; ?></td>
                       <td class="tg-0w8i"><?php echo $row['m40']; ?></td>
                       <td class="tg-0w8i"><?php echo $row['m90']; ?></td>
                       <td class="tg-0w8i"><?php echo $row['m38']; ?></td>
                  </tr>
              <?php  }     ?>
       </table
       
      SEGUE TABELA ANEXADA DE COMO GOSTARIA QUE APARECESSE NO RELATORIO
       
       

    • Por Elizandro Oliveira
      Bom Dia,
       
      Tenho 10 colunas de Siglas de Defeito, e 10 Colunas de quantidade de cada defeito,
      D1 = Defeito
      Q1 = Quantidade de Defeitos D1
      D2 = Defeito
      Q2 = Quantidade de Defeitos D2
      e assim por diante;
       
      D1 pode conter as siglas C1, C2, C3, C4 até C40
      D2  pode conter as siglas C1, C2, C3, C4 até C40
      D3  pode conter as siglas C1, C2, C3, C4 até C40
      e assim por diante
      Vejam a imagem em anexo;
       
      Preciso verificar as colunas e somar todos os defeitos de cada tipo, ranqueando as 3 maiores quantidades de defeitos, como na imagem anexo.
       
      Podem me dar uma ajuda com isso.
       
      Obrigado pela atenção;
       
       

    • Por gabrielsa
      Boa noite, estou tentando criar um sum e apresentar em tela, porem quase todos os exemp´lo que vejo usa a chamada do $conn, e no meu caso estou usando um arquivo que ja trazer a conexao ocm o banco e o select+query+row esta apresentando erro. segue o codigo.
       
       
      <?php require 'config.php'; ?> <?php $gasto = "select sum(buy) from home" $resultgasto = mysqli_query($gasto); $resultGasto_query = mysqli_fetch_row($resultgasto); ?> <html> <head> <title>Tabela poker</title> <link rel="stylesheet" type="text/css" href="css/home.css"> </head> <body> <table style="padding-top: 20px;height: 202px;width: 171px;" ID="tabelabk1" > <tr> <th>(%)</th> <th>VALOR</th> </tr> <tr> <td bgcolor="darkgreen">Gasto</td> <?php <td bgcolor="#FF6347">.$$resultGasto_query['buy'].</td>?> </tr>
    • Por jomarcoelho
      Numa banco de dados tem 1 tabela com lançamentos gerais de todos os produtos e todos os meses
       
      Tabela de Producao - Geral   ID Produto Quantidade Data 1 Sebo 1000 12/11/2018 2 Canela 2000 12/11/2018 1 Sebo 2000 13/11/2018 3 Osso 100 13/11/2018 1 Sebo 2000 10/10/2018 2 Canela 1000 09/09/2018 2 Canela 1000 09/09/2018 3 Osso 1000 10/10/2018 1 Sebo 1500 20/09/2018 4 Orelha 3000 18/10/2018 1 Sebo 4000 11/10/2018 3 Osso 1200 01/10/2018  

      Qual a consulta correta para extrair a produção total de cada produto dentro do mes.
      Puxando numa so tabela o total “por produto”, dentro do mes.

      Assim:
       
      Tabela de Producao - Setembro Canela 2000   Sebo 1500  
       
      Tabela de Producao - Outubro Sebo 6000   Osso 2200   Orelha 3000  
       
      Tabela de Producao -Novembro Sebo 3000   Canela 2000   Osso 100  
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.