-
Total de itens
3.089 -
Registro em
-
Última visita
Posts postados por Denis Courcy
-
-
Faça assim:
update Table set ID= CONCAT(ID, "01")
-
Substitua
if ($dados['email'] !== $email) {
por
if ($dados['email'] != $email) {
ou por
if (trim($dados['email']) !== trim($email)) {
-
Em minha base de teste criei as tabelas abaixo e populei conforme a imagem que você forneceu:
CREATE TABLE rec_lider( cd VARCHAR(30), totalRecebido INTEGER) ; INSERT INTO rec_lider(cd,totalrecebido) VALUES('OSASCO',20), ('CAJAMAR',10), ('são PAULO',15), ('OSASCO',30), ('OSASCO',40), ('JUNDIAI',50), ('RECIFE',10), ('RECIFE',40), ('OSASCO',20), ('CAJAMAR',30) ; CREATE TABLE rec_fiscal( cd VARCHAR(30), totalRecebimento INTEGER) ; INSERT INTO rec_fiscal(cd,totalrecebimento) VALUES('OSASCO',20), ('CAJAMAR',10), ('são PAULO',15), ('OSASCO',30), ('OSASCO',40), ('JUNDIAI',50), ('RECIFE',10), ('RECIFE',40), ('OSASCO',20), ('CAJAMAR',30) ;
Executei o select abaixo:
SELECT rl.Unidade, `Total Recebido`, `Total Recebimento` FROM (SELECT cd AS Unidade, SUM(total_recebido) AS `Total Recebido` FROM rec_lider GROUP BY cd ) rl INNER JOIN (SELECT cd AS Unidade, SUM(total_recebimento) AS `Total Recebimento` FROM rec_fiscal GROUP BY cd ) rf ON rf.Unidade = rl.Unidade GROUP BY rl.Unidade ;
-
Movendo para forum de PHP
-
Movendo para o forum de PHP
-
Creio que o que você quer seja isto:
SELECT o.categoria, u.nome, ur.nome as responsavel FROM ocorrencia o INNER JOIN usuario u ON u.id_usuario_pk = o.id_usuario_ocorrencia_fk INNER JOIN usuario ur ON o.id_responsavel_ocorrencia_fk = ur.id_usuario_pk WHERE o.numero = 'OS20166317';
-
O que você fez até agora? Mostre o que conseguiu que te orientaremos nas correções.
-
Controle através da linguagem de programação.
Mas, se quiser controlar no banco, informe qu o campo é not null. Faça uma trigger para controlar o intervalo. Se não estiver de acordo informe NULL para o campo. A inclusão não será realizada.
Outra forma, que é a que faço, utiliza storage procedure para controlar a gravação. Assim é possível enviar mensagem informando o porquê da rejeição.
-
Para somar ou subtrair valores de tempo leia Funções de Data e Hora no MySQL
-
16 horas atrás, Rodrigo83 disse:
Ao criar uma TRIGGER no sqlServer existe uma função chamada BINARY_CHECKSUM que comparar os campos que realmente tiveram alterações assim podendo fazer a ação somente no que foi alterado de fato. Existe algo parecido no mysql ? Se sim como fazer ?
Faça o trigger normalmente. O motor do MySQL já faz isso por você.
-
Conforme mostra a imagem que você postou no outro site e que tomei a liberdade de postar aqui,
Isto acontece por causa do join que você está impondo em seu select .
Segundo a estrutura de suas tabelas, cada elemento de rec_lider apontará para vários elementos de rec_fiscal que correspondam a igualdade rec_lider.cd = rec_fiscal.cd.
Exemplo: Tomando cd = Osasco, O primeiro registro de rec_lider(Osasco, 20) apontará para os seguintes registros em rec_fiscal (Osasco 20),((Osasco 30), Osasco, 40) e (Osasco, 20); O registro (Osasco, 30) em rec_fiscal apontará para os mesmos registros em rec_fiscal e etc.
A solução é somar rec_lider antes de conectar o join. Somar os dados de rec_fiscal, também, antes de conectar o join. E realizar um join para exibir os totais.
Por que fazer assim?
Porque assim, assim rec_fiscal.cd terá somente um registro por cd, assim como rec_lider.cd
Então teremos:
SELECT Unidade, `Total Recebido`, `Total Auditado`, `Total Devolvido` FROM (SELECT rec_lider.cd AS Unidade, SUM(rec_lider.total_recebido) AS `Total Recebido`, FROM rec_lider GROUP BY rec_lider.cd ) rl INNER JOIN (SELECT rec_fiscal.cd AS Unidade, SUM(rec_fiscal.total_recebimento) AS `Total Auditado`, SUM(rec_fiscal.total_devolvido) AS `Total Devolvido` FROM rec_fiscal GROUP BY rec_fiscal.cd ) rf ON rf.Unidade = rc.Unidade GROUP BY rl.Unidade
-
Comece eliminando possíveis problemas:
Faça uma string de conexão sem o uso de variáveis:
strConexao = "Driver={MySQL ODBC 3.51 Driver};SERVER=localhost; DATABASE=info16br; Uid=root; Pwd=admin"
Use o MyODBC 5.x para versões do MySQL acima da versão 5.x e com Windows XP SP3 ou maior
Em seu sql
strSql = strSql & + " WHERE " + request.Form("modo") + " LIKE " + "'%" +
Não está faltando algo entre o LIKE e o %?
-
Em Totals, 2005, 2006 e 2007 Você está usando apóstrofo ou crase?
O correto é crase.
O ADO não está reconhecendo o caracter.
-
A partir da versão 5.0 do MySQL, para acessar o root por outra estação que não o console, é necessário criar um usuário root@% e dar as permissões de acesso a ele.
-
Remova os @ de dentro da procedure para todas as variáveis declaradas dentro da procedure.
Exemplo:
Você declarou
declare table_id int;
Então deve tratar
select r_table from S_QOS_DATA where table_id = @table_id
como
select r_table from S_QOS_DATA where table_id = table_id
Eu uso um padrão para evitar conflito entre nomes de variáveis e campos dentro da procedure. Toda variável é declarada com um "p" de procedure na frente do nome da variável. Assim, a declaração seria
declare ptable_id int;
e o uso:
select r_table from S_QOS_DATA where table_id = ptable_id
Tratamento para o parâmetro query quando no uso de um comando prepare:
Transfira o conteúdo de query para uma variável pública :
SET @ppquery = query; prepare stmt from @ppquery; EXECUTE stmt; deallocate prepare stmt;
@ppquery não deve ser declarada dentro da procedure. Ela tem visão pública e o comando prepare não aceita variáveis private.
-
Movendo para o fórum de PHP
-
Se você está tentando atualizar os valores de Produtos que não tem item de pedido, então o select deveria ser assim:
UPDATE produto p LEFT JOIN itempedido ip ON ip.idProduto = p.idProduto set p.valorUnitario=20 where ip.idproduto IS NULL;
-
Em vez de
SET @dataA = now()-1;
Você já tentou
SET @dataA = DATE_SUB(NOW(), INTERVAL 1 DAY)
?
-
Faça assim:
SELECT SUM(IF(Calc >= 14, 1, 0)) AS Satisfeitas, SUM(IF(Calc < 14, 1, 0)) AS Insatisfeitas FROM ( SELECT quest3 + quest8 + quest11 + quest12 + quest14 + quest27 + quest32 as Calc FROM tb_postagens ) resultado
-
No código abaixo não está faltando a cláusula WHERE?
3 horas atrás, pass_joao disse:$stmt = $PDO->prepare('SELECT g.id_pessoa as matricula, p.nome as nome, p.email as email, g.grupo as grupo FROM tbl_pessoa_turma g join tbl_pessoaas p on (g.matricula = p.matricula) ORDER BY nome DESC'); $stmt->bindParam('matricula', $id_rel, PDO::PARAM_INT);
Leia mais sobre PDOStatement::bindParam em http://php.net/manual/pt_BR/pdostatement.bindparam.php
-
Movendo para PHP
-
Na tabela vendas crie um índice por (codven,dataven). A ideia é evitar ou diminuir ao máximo o filesort.
Ele está usando o índice idx_vendas_codven para a cláusula where e filesort.
Use SELECT STRAIGHT_JOIN para forçar o motor do MySQL a ler o select da esquerda para a direita. Ou seja, para que execute conforme a ordem que você montou o select.
SELECT STRAIGHT_JOIN cli.CLICOD, cli.CLINOM, cli.CLICPF, vda.CODVEN,vda.DATVEN, vda.NUMVEN, vda.CLIVEN, vda.QTDVEN, vda.VALVEN, vda.ESPVEN, vda.TOTVEN, vda.MARCADO, vda.CUPOM, IF(vda.CUPOM!='S' AND vda.MARCADO!='S',vda.QTDVEN,0) AS VENDAS_OUTRAS, IF(vda.CUPOM='S', vda.QTDVEN,0) AS VENDAS_CUPOM, IF(vda.MARCADO='S',vda.QTDVEN,0) AS VENDAS_NF, tv.CODVENDA, tv.ENTRADA_SAIDA FROM vendas AS vda LEFT JOIN clientes AS cli ON cli.CLICOD = vda.CLIVEN LEFT JOIN tvenda AS tv ON vda.NUMVEN = tv.CODVENDA WHERE vda.CODVEN = 1 AND vda.CODVEN !=0 order by vda.DATVEN DESC
-
Ok. Na tabela vendas, crie um índice por datev. e rode de novo com e sem o explain.
Sem o explain verifique a alteração no tempo. Com o explain, poste o resultado.
-
Bom dia. Por favor poste o resultado do select abaixo:
EXPLAIN SELECT cli.CLICOD, cli.CLINOM, cli.CLICPF, vda.CODVEN,vda.DATVEN, vda.NUMVEN, vda.CLIVEN, vda.QTDVEN, vda.VALVEN, vda.ESPVEN, vda.TOTVEN, vda.MARCADO, vda.CUPOM, IF(vda.CUPOM!='S' AND vda.MARCADO!='S',vda.QTDVEN,0) AS VENDAS_OUTRAS, IF(vda.CUPOM='S', vda.QTDVEN,0) AS VENDAS_CUPOM, IF(vda.MARCADO='S',vda.QTDVEN,0) AS VENDAS_NF, tv.CODVENDA, tv.ENTRADA_SAIDA FROM vendas AS vda LEFT JOIN clientes AS cli ON cli.CLICOD = vda.CLIVEN LEFT JOIN tvenda AS tv ON vda.NUMVEN = tv.CODVENDA WHERE vda.CODVEN = 1 AND vda.CODVEN !=0 order by vda.DATVEN DESC
Ajuda a compilar código SQL
em MySQL
Postado
Corrigido