Ir para conteúdo
Fórum Script Brasil

Tchello

Membros
  • Total de itens

    180
  • Registro em

  • Última visita

Tudo que Tchello postou

  1. Tenho na tabela as seguinte colunas: ID, Contrato, OrdServico, TipoServico, CodFechamento, DataFechamento Aí preciso fazer um um sintético para mostrar a contagem por número de contrato (lembrando que neste caso o numero de contrato pode se repetir várias vezes, uma vez que um número de contrato pode ter várias Ordens de Serviço). O problema está em que se o número do contrato repetir em datas diferentes aí tem que contar, atualmente uso: "SELECT COUNT( DISTINCT contrato ) AS agenda, SUM( IF( codfec > '399', 1, 0 ) ) AS executadas, SUM( IF( codfec < '400' AND codfec <> '', 1, 0 ) ) AS quebra FROM ( SELECT DISTINCT contrato, codfec, rota, b.cod FROM rota a LEFT JOIN tiposervicos b ON a.tiposervico = b.descricao WHERE b.cod = '1' AND rota = 'FIELD' AND MONTH(agenda) = MONTH(CURDATE()) )r GROUP BY rota" funciona direitinho, exceto o fato que se tem o mesmo número de contrato em dias diferente conta como 'um' só. Alguém tem uma luz??? Grato
  2. Tenho uma consulta que tá lenta, gostaria de saber se há algo que posso fazer para otimizar e acelerar esta consulta? SELECT a.modelo, COUNT( a.modelo ) AS total, COUNT( b.modelo ) AS campo, COUNT( b.baixa ) AS baixas FROM terminais a LEFT JOIN movimentacao b ON a.modelo = b.modelo WHERE a.modelo != '' AND YEAR(a.datacad) = YEAR(CURDATE()) GROUP BY a.modelo ORDER BY a.modelo ASC Dados das tabelas: terminais a = 17610 (registros); movimentacao = 16213 (registros); Atualmente a consulta tá levando em torno de 20 segundos.
  3. Tenho na página o link: Selecionar itens [+] (quando clicado abre um popup com a lista dos itens. Popup: Item 1 [ ] Item 2 [X] Item 3 [ ] Item 4 [X] Item 5 [ ] Aí preciso que aparece na página os itens selecionados. Itens selecionados: Item 2 Item 4 Se possível sem refresh.
  4. Preciso de algo que funcione para isto: COUNT(DISTINCT coluna CASE WHEN coluna = '' THEN 1 END) AS vazias COUNT(DISTINCT coluna CASE WHEN coluna <> '' THEN 1 END) AS preenchidas Segue: SELECT idtec, contrato, nome, COUNT(DISTINCT contrato) AS contratos, COUNT(DISTINCT contrato CASE WHEN contrato = '' THEN 1 END) AS abertos, COUNT(DISTINCT contrato CASE WHEN contrato <> '' THEN 1 END) AS fechados FROM rota WHERE nome != 'nome' GROUP BY idtec ORDER BY nome Preciso distinguir cada técnico por número de contratos. Lembrando que para cada técnico podem ter várias linhas com o mesmo número de contrato
  5. Mil desculpas... Foi uma falha minha tinha feito um INNER JOIN ao invés de LEFT JOIN. Funcionou perfeitamente. Muito obrigado!
  6. Como faço um 'select' de duas tabelas e que me retorne somete os valores da Tabela A quando os mesmos não estiverem contidos na Tabela B? Ex: Tabela A ID Nome 1 José 2 Maria 3 João Tabela B ID Nome 1 Jose 2 Maria Preciso selecionar só no caso o 3 João que não está na Tabela B, ou seja algo ao contrário de um INNER JOIN.
  7. Preciso somar dois valores de comissão para produtos difrentes da mesma tabela, seria sobre uma venda casada. Algo parecido com isto: SELECT SUM(comissao) FROM comissoes WHERE cod = '94' AND cod = '82' Tabela: cod, comissao 82 17 94 5
  8. Tenho duas tabelas que se corresponde pelo mesmo id, quero fazer um SELECT trazendo dados das duas tabelas, porém não quero que se repitam os dados da primeira tabela como exemplos abaixo: Como eu faço: SELECT a.nome, b.status FROM tabela a LEFT JOIN tabela b ON a.id = b.id Print: ID NOME STATUS 1 A 1 1 A 2 1 A 3 Como o status é variável gostaria que chamasse o id e o nome apenas uma vez e todos os status da tabela b. Exemplo: ID NOME STATUS 1 A 1 2 3 Como faço para não repetir o ID e o NOME da tabela a? Desde já agradeço
  9. Por que dão respostas evasivas??? Isto não ajuda em nada...
  10. Tenho duas tabelas que se corresponde pelo mesmo id, quero fazer um SELECT trazendo dados das duas tabelas, porém não quero que se repitam os dados da primeira tabela como exemplos abaixo: Como eu faço: SELECT a.nome, b.status FROM tabela a LEFT JOIN tabela b ON a.id = b.id Print: ID NOME STATUS 1 A 1 1 A 2 1 A 3 Como o status é variável gostaria que chamasse o id e o nome apenas uma vez e todos os status da tabela b. Exemplo: ID NOME STATUS 1 A 1 2 3 Como faço para não repetir o ID e o NOME da tabela a? Desde já agradeço
  11. Pode me passar um exemplo? Nunca trabalhei com storage procedure?
  12. Como fazer um multiplo select e pegar os dados do banco? <select name="opcao" multiple> <option value="1">Opção 1</option> <option value="2">Opção 2</option> <option value="3">Opção 3</option> <option value="4">Opção 4</option> <option value="5">Opção 5</option> </SELECT> // Selecionados opções 1, 3, 5 $sql = mysql_query("SELECT opcao FROM tabela WHERE opcao = '???')
  13. Tenho uma tabela de alteração de status com as colunas status e data_da_alteração. Ex.: idcadastro status data_da_alteracao diferenca_horas 123 0 2014-07-01 09:50:00 123 1 2014-07-02 08:50:00 23:00 123 2 2014-07-03 10:00:00 24:10 123 3 2014-07-04 09:00:00 23:00 Como faço para calcular a diferença de horas entre um status e outro? Como calculo a diferença na mesma coluna?
  14. Tchello

    Ajuda com URL amigável

    Solução gambiarra nível 9: if($dados == "index" || $dados == ""){ include "index.php"; }
  15. Meu .htaccess <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?dados=$1 [L,QSA] </IfModule> Meu index.php <?php $dados = $_GET['dados'] ? $_GET['dados'] : ''; if($dados){ $gets = explode('/', $dados); if(file_exists($gets[0] . ".php")){ include_once($gets[0] . ".php"); }else{ include_once('404.php'); } } ?> porem quando chamo outra página, exemplo /contato ele carrega o index abaixo do contato. O que há de errado no código? Desde já agradeço a colaboração.
  16. Como posso usar o efeito toogle dinamicamente? Ex.: Tenho uma consulta no DB (imobiliaria) SELECT tipos FROM tabela; Mostra os tipos de imóveis: Apartamento Casa Loja Aí queria listar os imóveis de acordo com o tipo: SELECT imovel FROM tabela WHERE tipo = $tipo; Mas gostaria de usar isso com o efeito toogle para que quando clicasse num determinado tipo de imóvel só listasse os imóveis referentes aquele tipo clicado. Desde já agradeço a colaboração
  17. Isso aí, xará... não tinha me atentado para a chave primaria... valeu...
  18. Já tentei assim, mas olha o resultado: 1 2012 1 2011 2 2011 3 2011 4 2011 5 2011 6 2011 7 2011 8 2011 9 2011 10 2011 11 2011 12 2011 Orderna o ano ok de forma decrescente, porém o mês fica crescente. E preciso que ordene ano e mês de forma descrescente como no modelo acima.
  19. Preciso executar esta query: SELECT MONTH(data), YEAR(data) FROM tabela WHERE data IS NOT NULL GROUP BY MONTH(data) ORDER BY data DESC Para que me liste: 01/2012 12/2011 11/2011 10/2011 09/2011 Mas dá erro: Column 'tabela.data' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
  20. Tchello

    Problemas para gerar XML

    Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error. More information about this error may be available in the server error log.
  21. Tenho o seguinte script: <!--#include file="conexao.asp"--> <% Query="SELECT Nome,Foto,Descricao " Query=Query&"FROM Fotos ORDER BY Ordem" Set rs=Conexao.Execute(Query) arquivo_xml= "fotos.xml" set fso= createobject("scripting.filesystemobject") set act= fso.CreateTextFile(server.mappath(arquivo_xml), true) act.WriteLine("<?xml version=""1.0"" encoding=""ISO-8859-1"" ?>") act.WriteLine("<root diretorio='fotos/'>") do while not rs.eof act.WriteLine("<foto img=""" & rs("foto") & """ nome=""" & rs("nome") & """>" & rs("descricao") & "</foto>" ) rs.movenext loop act.WriteLine("</root>") act.close %> Local gera ok porém online dá erro... Alguém sabe me dizer porque isso acontece???
×
×
  • Criar Novo...