Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • 0
feedorns

Erro Excel ODBC

Pergunta

Olá pessoal, boa tarde!

 

Sempre acompanho o fórum aqui quando tenho dúvida e me aproveito das respostas, mas hoje sou eu quem precisa de ajuda.

Costumo usar muito ODBC em minha planilhas do Excel, para facilitar as consultas de dados externos do banco de SQL. Porém estou com um erro ao tentar inserir a consulta abaixo, o Excel simplesmente deixa de funcionar, apresentando aquela tela de travamento clássica e se reiniciando. O problema ocorre somente com essa consulta, nenhuma outra tem o mesmo problema.

 

Consulta abaixo.

Select '' MARGEM_CONTRIBUICAO,
'' DESCONTO

From estoque Where date_stock = '2017.07.01'
UNION ALL
SELECT
    1-ROUND((SUM(product_total) / (original_price * SUM(product_qty_items))),4) DESCONTO,
'' uf

FROM clientes
WHERE status = 'aprovado' AND order_date BETWEEN CONCAT(YEAR(curdate()),("-"), (((MONTH (CURDATE())+1)-(MONTH (CURDATE())))),("-"), (((DAY (CURDATE())+1)-(DAY (CURDATE()))))) AND (DATE(NOW())- INTERVAL 1 DAY)
GROUP BY uf;

 

Obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

Recommended Posts

Experimenta assim:

SELECT MARGEM_CONTRIBUICAO, DESCONTO
FROM estoque 
WHERE date_stock = '2017.07.01'
UNION ALL
SELECT 1-ROUND((SUM(product_total) / (original_price * SUM(product_qty_items))),4) DESCONTO, uf
FROM clientes
WHERE status = 'aprovado' AND order_date BETWEEN CONCAT(YEAR(curdate()),("-"), (((MONTH (CURDATE())+1)-(MONTH (CURDATE())))),("-"), (((DAY (CURDATE())+1)-(DAY (CURDATE()))))) AND (DATE(NOW())- INTERVAL 1 DAY)
GROUP BY uf;

Não percebi qual a finalidade dos ' ' que tens em algumas partes do código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por biza
      Boa tarde, 
      tenho um problema com VBA, que gostaria que me ajudassem a resolver, pretendo com recurso a código em VBA agregar os dados  de forma a que eles sejam somados.
      Em baixo, existe uma imagem , com o exemplo do pretendido. A esquerda a tabela que possui os dados de forma massiva e a direita o pretendido.
      Será que alguém me pode auxiliar a resolver isto!
      Obrigado.

    • Por ILR master
      Boa tarde, pessoal.
      Espero que todos estejam bem.
       
      Seguinte:
      Tenho a seguinte consulta:
       
      $usuarios= "SELECT * FROM usuarios";
      $query= mysqli_query($conexao, $usuarios) or die ("Usuário não encontrado");
      $usuario = mysqli_fetch_array($query);
       
      Quero pegar apenas o campo 'nome' da tabela 'usuarios' e colocar todos os resultados da seguinte forma:
       
      $nomes = array("Rafael", "João", "Maria", "Pedro", "Patricia", "Camila");
       
      Agradeço desde já.
      Abs
       
       
    • Por FabianoSouza
      Tenho uma function que precisa receber 02 argumentos.
      Ela funciona se eu aplicar num select qualquer. Mas se eu aplicar num select dinâmico, ocorre erro.
      Veja trecho do meu select.
      ... SET @sql = @sql +', dbo.retornaIco_ItemBloq((SELECT COUNT(*) FROM dbo.tab AS TT2 WHERE TT2.codCategTreina = CTT.id),'+@title+') AS ''resp''' ... No caso, o primeiro argumento da function dbo.retornaIco_ItemBloq é um SELECT COUNT.
      O segundo argumento é uma variável (que está devidamente declarada e definida).
       
      O erro ocorre porque ao executar (chamando EXEC(@sql) ), o SQL entende que o segundo argumento é uma coluna da consulta principal, pois existe uma vírgula antes da variável @title (que é o segundo argumento da function).
      Repito. Se eu aplicar essa function num select normal, funciona normalmente. Porém, preciso que funcione num SQL dinâmico porque é esse é o padrão que estou adotando para o sistema todo.
       
      A function dbo.retornaIco_ItemBloq faz o seguinte:
      1) Recebe o valor do COUNT e da variável @title
      2) Se o COUNT for maior que  Zero, cria uma tag HTML (uma SPAN), define sua title com o valor da variável @title e passa para uma variável
      3) Retorna o HTML que será exibido no resultado da consulta principal
      É super simples.
       
      Há outra forma de chamar a function?
    • Por mr22robot
      Ola caros amigos. 
      Estou com uma dúvida aqui que embora nao tenho achado ainda uma resposta, acredito que haja.
      Estou estudando a tão sonhada linguagem de programação asp.net core mvc. Linguagem essa que demorei 5 anos pra iniciar os estudos rsrs.
      Mas estou agarrado em uma situação. 
      Estou usando como base de dados nos meus estudos um banco Oracle. Que já tem algumas informações nele. Utilizei o SCAFFOLD para criar as classes e o contexto baseado no banco e tabelas existentes. 
      Porem agora na fase das consultas, estou perdido em como utilizar o IN que eu utilizo no oracle; no LINQ.
      Ex: 
      SELECT CODPROD,DESCRICAO FROM PRODUTO WHERE CODPROD IN(1,2,3,4,5,6) Como eu utilizo esse filtro com uma restrição de códigos de produtos? no caso o where codprod in(1,2,3,4,5,6) ?.
      Desde já obrigado pela ajuda.
    • Por rsnow
      Bom dia a todos;
      Estou com problema na leitura de um arquivo .CSV, 
      a coluna que contém número de CNPJ está vindo convertido em notação científica e não estou conseguindo converter para numeração correta
      Ex: 3,04918E+12
      eu quero mostrar o valor que se encontra convertido que no caso é 3049181000139
      porém faço isso manual no próprio excel e isso se torna muito trabalhoso toda vez.
       
      alguma luz?

×

Informação importante

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