-
Total de itens
3.089 -
Registro em
-
Última visita
Tudo que Denis Courcy postou
-
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'
-
'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'
-
'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'
-
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'
-
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
-
Usando JOIN.
-
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.
-
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.
-
O segundo é alter table turma
-
'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.
-
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.
-
'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.
-
Nós não temos uma área para pegadinhas e brincadeiras?
-
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.
-
(Resolvido) Ao fazer um registo ter alguns itens a selecionar
pergunta respondeu ao carlFortes de Denis Courcy em MySQL
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'); -
Interessante a maneira de fazer com que vocês fizessem o exercício para ela. Parabéns. <_<
-
'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).
-
'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
-
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?
-
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;$$
-
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.
-
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.
-
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.
-
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.