Jump to content
Fórum Script Brasil

Tchello

Membros
  • Posts

    180
  • Joined

  • Last visited

About Tchello

Contatos

  • Website URL
    http://rocknight.com.br/

Perfil

  • Gender
    Male

Tchello's Achievements

0

Reputation

  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 = '???')
×
×
  • Create New...