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. Oi,'--junior --'! Tenta assim: SELECT p.UnidadeMedida, p.DescricaoAbreviada, p.DescricaoDetalhada, p.Localizacao, p.EstoqueAtual, SUM(sp.Quantidade) AS Aprovisionado, (p.EstoqueAtual - SUM(sp.Quantidade)) AS Disponivel from produtos p INNER JOIN saidatmp sp ON sp.CodigoProduto = p.CodigoProduto WHERE CodigoProduto = '0010080001'
  2. Denis Courcy

    SELECT

    e as outras opções?
  3. Denis Courcy

    SELECT

    'CLID JUNIOR', OCOR é um atributo? Se sim, retire as aspas do count e tente novamente. Existe esta outra forma: SELECT SUM(IF(OCORR IS NULL, 0, 1) WHERE NOME='Mário' AND DATA>'$data' AND OCORR='Falta' GROUP BY DATA Outra alternativa é usar COUNT(*) assim: SELECT COUNT(*) WHERE NOME='Mário' AND DATA>'$data' AND OCORR='Falta'
  4. Denis Courcy

    SELECT

    'CLID JUNIOR', Vamos tentar desta forma: SELECT IF(COUNT('OCORR') IS NULL, 0, COUNT('OCORR') ) WHERE NOME='Mário' AND DATA>'$data' AND OCORR='Falta'
  5. Denis Courcy

    SELECT

    Se não me falha a memória a função abaixo poderá auxiliá-lo. Execute SELECT COALESCE(COUNT('OCORR'), 0) WHERE NOME='Mário' AND DATA>'$data' AND OCORR='Falta'
  6. Oi, 'LeAnDr0'! Você está perdendo conexão? Tem direitos de acesso (select) para este usuário? Outros motivos são: 1 - usuário inexistente 2 - senha errada 3 - usuário não relacionado ao banco de dados
  7. Oi, 'Brasileiro'! Você deveria estudar um pouco mais de SQL. Vamos a resposta (usando o mesmo código): $saldo = mysql_query(" Select valor, comissao, recebido, (valor - comissao - recebido) AS saldo from basket "); while( $dados = mysql_fetch_array($saldo) ) { $P03ITE = $dados["valor"]; $P02ITE = $dados["comissao"]; $P01ITE = $dados["recebido"]; $subsaldo = $dados["saldo"]; } <?php echo "$subsaldo"; ?> onde me imprime o resultado...no caso 40,00 Obs.: Não entendo nada de PHP, mas como programo há muito tempo fiz a mudança no que me pareceu lógico. O SQL está correto, mas não garanto a forma de apresentação do dado.
  8. Denis Courcy

    Access para Mysql

    Como sua dúvida não é em "como passar os dados do bd access para o mysql", estou transferindo este tópico para a área de ASP.
  9. 'akira2005', Os códigos dos altertables estão corretos. Qual a verão do mysql? quanto a outra parte, não sei nada de php. posso transferir este tópico para o pessoal do php, depois que você resolver o banco.
  10. Que linguagem você está usando? Você aplicou as modificações que mencionei no post anterior? se não aplicou os alter tables para ativação das constraints não vão funcionar.
  11. 'akira2005' , respondendo sua perguntas: 1. aplique o SQL abaixo (representarei somente a média de um bimestre e você modifica a sql para que apresente as ouras médias OK?) SELECT ((bim_1_AV1 + bim_1_AV2 + bim_1_TRab) / 3) AS bim_1_media FROM Boletim GROUP BY Matricula, idDisciplinas; 2. Não. Em nenhum banco de dados você pode ter mais de uma chave primária. Você pode ter chave primária combinada. Por exemplo, na tabela boletim a chave primária poderia ser Matricula, idDisciplinas, idTurma. Uma outra forma é simular uma chave primária partindo do princípio que uma chave primária é uma chave única, então posso criar quantas chaves únicas eu necessitar. 3, cometi uns erros na criação das tabelas que você precisa corrigir para melhorar a performance. São eles: Na tabela boletim criei o atributo idDisciplinas VARCHAR(20) NOT NULL, quando deveria ser idDisciplinas int(10) unsigned NOT NULL; Na tabela Turma criei os atributos Disciplinas_idDisciplinas VARCHAR(20) NOT NULL, Alunos_Matricula VARCHAR(20) NOT NULL e Curso_idCurso VARCHAR(20) NOT NULL, que deveriam ser, respectivamente, idDisciplinas int(10) unsigned NOT NULL, Matricula int(10) unsigned NOT NULL, idCurso int(10) unsigned NOT NULL.
  12. Nós não temos uma área para pegadinhas e brincadeiras?
  13. Oi, 'Filipe Ricardo'! Infelizmente muitos programadores comentem este tipo de erro (colocar expressões no lado esquerdo da comparação da select) E este tipo de erro sempre incorre em TABLE SCAN, mesmo que se utilize de índices. Vamos a correção: Passo 1 Criar índice por data_hora_pedido na tabela tab_pedido Passo 2 Modificar sua pesquisa para: SELECT t.cod_cliente, max(t.data_hora_pedido) as data_hora_pedido FROM tab_pedido t WHERE t.data_hora_pedido <= DATE_SUB( NOW( ) , INTERVAL 80 DAY) GROUP BY t.cod_cliente ORDER BY t.data_hora_pedido ASC Se houver erro no select acima foi porque não pude testá-lo (não tenho mysql onde estou agora). Neste caso, favor comunicar o erro para que possamos corrigí-lo.
  14. Se você quer que um campo tenha como conteúdo somente SIM ou NÃO defina-o como ENUM Exemplo Create table tabela ( campo enum ('SIM','NÃO') not null default 'NÃO');
  15. Interessante a maneira de fazer com que vocês fizessem o exercício para ela. Parabéns. <_<
  16. 'akira2005', Modifiquei as instruções SQL para que ficassem melhor organizadas. Estas modificações funcionarão melhor se você estiver usando o mysql 5.x.x ou superior. CREATE TABLE Alunos ( Matricula int(10) unsigned NOT NULL, Nome_Aluno VARCHAR(60) NULL, PRIMARY KEY(Matricula) ); CREATE TABLE Curso ( idCurso int(10) unsigned NOT NULL AUTO_INCREMENT, Curso VARCHAR(60) NULL, PRIMARY KEY(idCurso) ); CREATE TABLE Disciplinas ( idDisciplinas int(10) unsigned NOT NULL AUTO_INCREMENT, Disciplina VARCHAR(60) NULL, PRIMARY KEY(idDisciplinas) ); CREATE TABLE Boletim ( idBoletim int(10) unsigned NOT NULL AUTO_INCREMENT, Matricula int(10) unsigned NOT NULL, idDisciplinas VARCHAR(20) NOT NULL, idTurma VARCHAR(20) NOT NULL, bim_1_AV1 double(2,2) not null default 0, bim_1_AV2 double(2,2) not null default 0, bim_1_TRab double(2,2) not null default 0, bim_1_Media double(2,2) not null default 0, /* pode ser campo calculado */ bim_1_Recup double(2,2) not null default 0, bim_2_AV1 double(2,2) not null default 0, bim_2_AV2 double(2,2) not null default 0, bim_2_TRab double(2,2) not null default 0, bim_2_Media double(2,2) not null default 0, /* pode ser campo calculado */ bim_2_Recup double(2,2) not null default 0, bim_3_AV1 double(2,2) not null default 0, bim_3_AV2 double(2,2) not null default 0, bim_3_TRab double(2,2) not null default 0, bim_3_Media double(2,2) not null default 0, /* pode ser campo calculado */ bim_3_Recup double(2,2) not null default 0, bim_4_AV1 double(2,2) not null default 0, bim_4_AV2 double(2,2) not null default 0, bim_4_TRab double(2,2) not null default 0, bim_4_Media double(2,2) not null default 0, /* pode ser campo calculado */ bim_4_Recup double(2,2) not null default 0, MediaAnual double(2,2) not null default 0, /* pode ser campo calculado */ RecupAnual double(2,2) not null default 0, Final double(2,2) not null default 0, PRIMARY KEY(IbimA1) ); ALTER TABE Boletim ADD CONSTRAINT Boletim_FKIndex1 FOREIGN KEY (idTurma) REFERENCES Turma (idTurma) ON DELETE NO ACTION ON UPDATE NO ACTION, ADD CONSTRAINT Boletim_FKIndex2 FOREIGN KEY (idDisciplinas) REFERENCES Disciplinas (idDisciplinas) ON DELETE NO ACTION ON UPDATE NO ACTION, ADD CONSTRAINT Boletim_FKIndex3 FOREIGN KEY (Matricula) REFERENCES Alunos (Matricula) ON DELETE NO ACTION ON UPDATE NO ACTION; CREATE TABLE Turma ( idTurma int(10) unsigned NOT NULL AUTO_INCREMENT, Disciplinas_idDisciplinas VARCHAR(20) NOT NULL, Alunos_Matricula VARCHAR(20) NOT NULL, Curso_idCurso VARCHAR(20) NOT NULL, PRIMARY KEY(idTurma) ); ALTER TABE Boletim ADD CONSTRAINT Turma_FKIndex1FOREIGN KEY (idCurso) REFERENCES Curso (idCurso) ON DELETE NO ACTION ON UPDATE NO ACTION, ADD CONSTRAINT Turma_FKIndex2 FOREIGN KEY (Matricula) REFERENCES Alunos (Matricula) ON DELETE NO ACTION ON UPDATE NO ACTION, ADD CONSTRAINT Turma_FKIndex3 FOREIGN KEY (idDisciplinas) REFERENCES Disciplinas (idDisciplinas) ON DELETE NO ACTION ON UPDATE NO ACTION; Explicações: Os campos onde escrevi /* pode ser campo calculado */ não tem razão para existir pois podem ser calculados a qualquer tempo. Substitui os índices por Constraits. Mas só funcionarão se você utilizar o engine InnoDB. Substitui os tipos DECIMAL por INTEGER ou DOUBLE que são mais eficientes com a versão 5 No caso de auto_increment deve-se utilizar o tipo integer e, neste caso, usei integer unsigned que é menor que o tipo integer e, também, porque o auto_increment deve ser maior que zero (o mysql não aceita auto_increment menor que 0).
  17. Denis Courcy

    Consulta timestamp

    'shelter', No front end que você usa para manipular as tabelas no mysql, coloque o texto da função dentro da área onde você digitaria um código SQL, substitua o termo 'BancoDeDados' pelo nome de seu banco de dados e execute o código. Depois disso, para obter o que você mencionou, digite e execute a seguinte instrução sql: SELECT Ramal, N_discado, Tronco, Duracao, ValorApagar(Duracao) AS Valor FROM tabela
  18. Oi, 'akira2005' ! eu não te respondi a este mesmo questionamento no tópico Boletim Escolar - Ajuda do forum, me ajudem... em 22/02/2008? O que está faltando?
  19. Denis Courcy

    Consulta timestamp

    Oi, 'shelter'! Escrevi uma rotina que te possibilitará obter o resultado como umm campo calculado. Ela funcionará em qualquer versão do MySQL igual ou superior a 5.0.x. Deve ser implementada diretamente no banco. DELIMITER $$; DROP FUNCTION IF EXISTS `BancoDeDados`.`ValorApagar`$$ CREATE FUNCTION ` BancoDeDados `.`ValorApagar` (Campo Timestamp) NO SQL RETURN double; BEGIN declare Tempo Time; declare Seg integer; declare Valor double; Set Tempo = Time(campo); Set Seg = Hour(Tempo) * 3600; Set Seg = Seg + (Minute(Tempo) * 60); Set Seg = Seg + Second(Tempo) If Seg < = 30 then Set Valor = 0.50; Else Set Seg = Seg - 30; Set Valor = 0.50 + (0.10 * (Seg Div 6)); If (Seg Mod 6) <> 0 then Set Valor = Valor + 0.10; End if; End if; ValorApagar = Valor; END$$ DELIMITER;$$
  20. A forma que você propõe não retratará ao cliente a posição atual do estoque (não será real time. Será D -1). Se você quer obter o mais próximo poossível de real time, então sugiro implementar triggers que atualizem diretamente a base de estoques do site, ou que proporcione acesso diretamente ao BD operacional da empresa.
  21. Oi, 'zeneto'! Na net tem diversos tutoriais sobre "SQL", "NORMALIZAÇÂO" e "SISTEMAS DE BANCOS DE DADOS" que poderão te ajudar nos primeiros passos. Particularmente gosto dos livros "INTRODUÇÃO A SISTEMAS DE DABCOS DE DADOS" de C.J.DATE, Ed. Campus. e "SISTEMAS DE DABCOS DE DADOS" - Ramez E. Elmasri - Shamkant B Navathe, Ed. Pearson Brasil. Se você quiser partir para algo mais específico usando o mysql, testando em suas aplicações e aprender teoria de BD em paralelo, informe o que você tem em mente para que possamos analisar e auxiliá-lo melhor.
  22. Oi, 'akira2005'! Isto tem cheiro de dever de casa. E um trabalho escolar, passado por algum professor para você fazer e você está pedindo help antes de começar? Que tipo de trabalho é esse? Responda e poderei te ajudar.
  23. Denis Courcy

    Configuração do mysql

    Oi, Antonio! Não espere do mysql uma tela parecida com a do access, por exemplo. Você pode usar o mysql para criar e administrar suas tabelas por dois caminhos: Usando um front end de terceiros ver tópico Programas Front End Mysql e o post do Micheus neste tópico: Tópico Para Tutoriais/dicas . A segunda forma é através do utilitário de linha de comando mysql Se houver mais dúvidas não hesite em perguntar.
×
×
  • Criar Novo...