Ir para conteúdo
Fórum Script Brasil

Denis Courcy

Moderadores
  • Total de itens

    3.089
  • Registro em

  • Última visita

Tudo que Denis Courcy postou

  1. OK Entendi. Faça assim: SELECT HOUR(datatipotimestamp) HORA, COUNT(HOUR(datatipotimestamp)) AS QT_HORA FROM minhatabela
  2. SELECT DISTINCT TIME(datatipotimestamp) AS HORA FROM minhatabela ORDER BY HORA DESC
  3. Tenta assim: SELECT distinct p.idproduto, p.titulo,i.caminho_imagem,p.valor_unitario FROM produto p INNER JOIN imagens_produtos i ON(p.idproduto=i.fk_id_produto AND p.tipo_anuncio=1)
  4. Este é mais um caso de Pivot Table. Procure aqui no forum um post que respondi a respeito deste padrão.
  5. Denis Courcy

    JOIN demorado

    Oi Parub@, Outra dica é inverter as tabelas e usar a cláusula [sTRAIGHT_JOIN]. SELECT STRAIGHT_JOIN Clientes.clt_Id, Clientes.clt_Data, Clientes.clt_Nome, Clientes.clt_Email, COUNT(Pedidos.ped_Id) AS NPeds FROM Clientes LEFT JOIN Pedidos ON Clientes.clt_Id = Pedidos.ped_ClienteId GROUP BY clt_Id, clt_Data, clt_Nome, clt_Email ORDER BY clt_Data DESC Caio, A instrução que você passou é a mesma que um INNER JOIN e que resultará no conjunto intercessão entre CLIENTES e PEDIDOS. O que o Parub@ quer é o resultado de CLIENTES - PEDIDOS e isto é dado com LEFT ou RIGTH JOIN dependendo da posição das tabelas. A cláusula [sTRAIGHT_JOIN] forçará a leitura da esquerda para a direita então inverti as tabelas e a cláusula RIGTH JOIN para LEFT JOIN.
  6. Oi Gustavo Ribas Logullo Coitado de seu cliente se o banco ficar grande. Esta pesquisa ficará muiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiito lenta pois toda ela gera table scan. Crie indices do tipo fulltext e você não precisará se preocupar mais nem com tempo de resposta(no seu caso, prazo de entrega), nem com este problema que você está enfrentando.
  7. Sua pergunta está respondida na sintaxe do comando select. Veja abaixo a cláusula INTO {OUTFILE | DUMPFILE} SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] [HIGH_PRIORITY] [DISTINCT | DISTINCTROW | ALL] expressão_select,... [INTO {OUTFILE | DUMPFILE} 'nome_arquivo' opções_exportação] [FROM tabelas_ref [WHERE definição_where] [GROUP BY {inteiro_sem_sinal | nome_col | formula} [ASC | DESC], ... [WITH ROLLUP]] [HAVING where_definition] [ORDER BY {inteiro_sem_sinal | nome_coluna | formula} [ASC | DESC], ...] [LIMIT [offset,] row_count | row_count OFFSET offset] [PROCEDURE nome_procedimento(lista_argumentos)] [FOR UPDATE | LOCK IN SHARE MODE]]
  8. Denis Courcy

    Tipagem

    Tópico fechado. Tópico duplicado.
  9. Denis Courcy

    COMO FAZER

    Você precisa de um banco de dados para armazenar e recuperar as informações e uma das seguintes linguagens: C#, Asp, Aspx, Php, Perl, Java, etc. Além disso Html, css e javascript. Lembro que este é o forum de MySQL. Qualquer coisa ligada as linguagens abaixo e/ou a outros bancos de dados devem ser postadas diretamente nos forums apropriados.
  10. Tércio Este tipo de ação não é possivel sem mexer em privilégios. O ID de uma tabela nunca deve ser alterado. Não deixe o usuário final acessá-lo. Você, em seu código, não poderá permitir que isto aconteça. Mudar ID é mudar todos os relacionamentos desta tabela com outra. Transforme seus ID em auto_increment. e controle através de seu código criando classes que não deixem setar esta variável.
  11. 'mayconvm' Procure sobre pivot table aqui no forum de Mysql.
  12. Denis Courcy

    erro de sintax

    Também trabalho com Delphi e MySQL. Passa o código sql para avaliarmos. O que você passou é uma classe e não dá para adivinhar o que está lá.
  13. Faça assim: SELECT * from tabela WHERE ISNULL(coluna); Ou assim: SELECT * from tabela WHERE coluna IS NULL;
  14. Oi 'cmdmss' Existe uma diferença entre branco e null Para buscar colunas NULL use ISNULL Para buscar colunas em branco use ""
  15. Oi 'marcosmarcelo' Quando voce usa este filtro WHERE nivel='1' AND localizacao = 'noticias' Quantas linhas retornam? Há a necessidade de usar a cláusula LIMIT?
  16. Oi, 'Ademilson Beirão' Tente assim: SELECT SUM(CASE WHEN t.temposomado < SEC_TO_TIME(sla.slas_tempo*60) THEN 1 ELSE 0 END) 'No SLA', CASE WHEN t.temposomado > SEC_TO_TIME(sla.slas_tempo*60) AND t.temposomado < SEC_TO_TIME(sla.slas_tempo*60+sla.slas_tempo*60*0.20) THEN 1 ELSE 0 END 'ATE 20', CASE WHEN t.temposomado > SEC_TO_TIME(sla.slas_tempo*60+sla.slas_tempo*60*0.20) THEN 1 ELSE 0 END 'ACIMA DE 20' from ocorrencias o inner join (select ts_ocorrencia, SEC_TO_TIME(SUM(tempo.ts_tempo)) as temposomado from tempo_status group by ocorrencia) t ON (t.ts_ocorrencia=o.numero) inner join problemas prob on (o.problema=prob.prob_id) inner join sla_solucao sla on (sla.slas_cod=prob.prob_sla) where year(data_fechamento)=year(current_date) and month(data_fechamento)=month(current_date) and sistema=3 and status=4 group by NUMERO Não tenho como preparar uma massa de testes para saber se está correto. mas a idéia é esta.
  17. Oi 'CID_AGUIAR' Procure gravar usando CONVERT para o tipo de colation de seu banco. Exemplo: SELECT CONVERT('abc' USING utf8);
  18. Oi 'leandryn0007', O erro abaixo informa que o usuário que está executando a instrução de create trigger do mysql, não possui os privilégios (autorização) para executar esta(s) instrução(ões). A instrução que garante este tipo de privilégio é GRANT SUPER ON nomedatabela TO usuarioe necessita ser dada pelo root ou alguém com priviégios de administrador.
  19. Oi, 'Everton Rodrigo' Tente assim: (select e.data as Data , c.descricao as Categoria, e.descricao as Descricao ,e.valor as ValorEntrada , 0 as ValorSaida from entrada e inner join categoria c on c.id = e.idcat order by data) union (select s.data as Data, c.descricao as Categoria , s.descricao as Descricao , 0 as ValorEntrada , s.valor as ValorSaida from saida s, inner join categoria c on c.id = s.idcat order by data) order by data
  20. Oi Gean, se você quer excluir dentro da procedure por que está usando o comando SELECT? Você deveria estar usando o comando DELETE FROM `logs` WHERE `datetime` < 'DT';
  21. Denis Courcy

    Comandos do mysql

    Leia o caítulo 6 do manual do MySQL versão 4.1 em portugues. (Aqui no site tem um link para baixar o manual. Para resolver a questão 1, leia sobre UPDATE. Reajustar algo em 10% para cima é o mesmo que multiplicar por 1.10. Para a questão 2 leia sobre DELETE. a função para saber o maior valor é a MAX Para a questão 3 leia sobre CREATE VIEW no manual do mysql de sua versão (infelizmente será em inglês) Para a questão 4 você executará um comando SELECT na VIEW criada e um comando SELECT como se não houvesse a view e deverá comparar os dois. Faça e reporte as dúvidas. Não faremos o exercício pra você.
  22. Oi, 'paulobergo' Eu uso o Delphi com MySQL. Você definiu o campo situação como TEXT? Se sim, tem como redefini-lo para varchar? Você mudou o sistema operacional da máquina ou algo novo foi instalado? Se sim, Já experimentou instalar uma versão mais nova do MyODBC?
  23. Não é um comando. É um programa e gerará um arquivo .sql com o conteúdo que você determinar. veja no manual do mysql como usar o mysqldump. Eu já publiquei sobre ele aqui no forum.
×
×
  • Criar Novo...