Ir para conteúdo
  • ×   Você colou conteúdo com formatação.   Remover formatação

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Conteúdo Similar

    • Por GuiPetenuci
      Boa tarde,
      Estou com um problema e estou ficando louco, ja li praticamente todos as respostas de View de SQL Server no Stack Overflow e a maioria da documentacao da MSFT
       
      Tenho uma view que faz algumas queries malucas que o cliente precisa, mas ela nao retorna o resultado justo, e se eu pegar o codigo e fazer uma query simples com o codigo, o resultado è ok.
       
      Codigo da View
      SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /****** Object:  View [QEHS].[V_FactMonitorings25261gui]    Script Date: 11/07/2019 16:24:53 ******/ CREATE view      [QEHS].[V_FactMonitorings25261gui] as      with     Plants as      (         select distinct              [plant-id]          from              [QEHS].[Fact-Monitorings-H&S]                 ) ,      MIDs as      (         select mid          from          (             values                 ( 'MON.02.25 Total number of LTA free days (calendar days)')                 ,( 'MON.02.26 Total number of TRI free days (calendar days)')          ) as x(mid)      ),      PlantList      AS     (         select              a.date,              b.[plant-id],              c.mid         from              QEHS.Calendar_Gen A              cross join              plants b                 cross join mids c         where              year(a.date) >= 2011     ),      help1 as      (         SELECT              p.date,              p.[plant-id],             p.mid,              t.value,             (             case                  when (year(p.date) = year(getdate()) and month(p.date) = month(getdate())) then                      day(getdate())                  else                      iif(t.value is not null, 0, day(eomonth(p.date)))                             end                           ) Days,              cast(isnull(cast(t.value as bit),0) as integer) reset          FROM              PLANTLIST p              left join              [QEHS].[Fact-Monitorings-H&S] T             on             (                  p.date = t.date and                   p.[plant-id] = t.[plant-id] and                   p.mid = t.[monitoring-id]              )                  ),      help2 as      (         select              date,              [plant-id],              mid,              value,              days,              reset,             formatmessage('%s%s%d', [plant-id], mid,sum(reset) over                  (                      partition by  [plant-id], mid                      order by  date, [plant-id], mid                 )             ) grp         from             help1          where              year(date) >= (select year(min(date)) from [QEHS].[Fact-Monitorings-H&S])             ),     help3 as      (         select              date,              [plant-id],              mid,              value,              days,              first_value(value) over (partition by grp order by date, [plant-id], mid) fullvalue         from              help2      )      --      select          date,          [plant-id],          mid,          isnull(a.Value,              fullvalue +sum(days) over              (                  partition by [plant-id], mid, fullvalue                   order by  mid, date, [plant-id]                  rows between unbounded preceding and current row             )          ) total     from          help3 a          GO a view retorna assim:

       
      Agora se eu pegar e fazer a query "na mao", retorna assim, que è o justo:

       
      Agora, porque na view retorna um e a query retorna outro? o.o
    • Por beto.vanzin
      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?
       
       
    • 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  
       
    • 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  
       
    • Por Rasp
      Prezados,
       
      Fiz em ambiente local (xampp) uma tela de login simples e está funcionando perfeitamente, sem apresentar qualquer erro, porém, ao subir para meu servidor web (ambos rodam PHP 7.1), o sistema de login não funciona, só gera a mensagem de erro de login e senha. Após verificar os possíveis erros, identifiquei que a consulta SQL não está funcionando, porém, no PHPmyAdmin funciona normalmente (no servidor web), estou usando uma view, mas não encontrei nada que tivesse o mesmo problema que estou passando.
       
      Segue código:
       
      if($sql = $mysqli->prepare("SELECT * FROM `vw_login` WHERE `login` = ? LIMIT 1")) { $sql->bind_param("s", $frmlogin); $sql->execute(); $sql->bind_result($id, $nome, $hash); if($sql->fetch() AND Bcrypt::check($frmsenha, $hash)) { ... header('Location: /'); } else { session_destroy(); $retorno = "Login ou senha incorretos."; } $sql->close(); } Obrigado!
×

Informação importante

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