-
Total de itens
3.089 -
Registro em
-
Última visita
Tudo que Denis Courcy postou
-
Colunas para o livro, capítulo, versículo e texto. Assim será mais fácil de pesquisar.
-
Cadê a vírgula entre o primeiro e o segundo "home"? Além disso seu INSERT informa 5 campos e seu VALUES possui somente 4
-
Só um complemento. A fórmula valor = valor*(1+(param_ajuste/100)) Ajusta o valor para cima. Exemplo: valor = 100; param_ajuste = 10; Novo resultado de valor = 110 (subiu 10%) E a fórmula valor = valor*(1-(param_ajuste/100)) Ajusta o valor para baixo. Exemplo: valor = 100; param_ajuste = 10; Novo resultado de valor = 90 (desceu 10%)
-
Bom dia. Sua tarefa, basicamente, utiliza um dos sois updates abaixo: UPDATE apartamento SET valor = valor*(1+(param_ajuste/100)) WHERE codigo_cond = param_cod_condominio; Ou UPDATE apartamento a INNER JOIN condominio c ON a.codigo_cond = c.codigo SET valor = valor*(1+(param_ajuste/100)) WHERE c.nome = param_nome_condominio; Agora é só colocar um dos dois na procedure.
-
Por gentileza, por que ocorre o erro 1064, quando tento criar a tabela abaixo, via Código no MySql: USE SACP; CREATE TABLE IF NOT EXISTS EMPRESA ( CODIGO CHAR(4), FILIAL CHAR(4), NOME_EMPRESA CHAR(50), NOME_FANTASIA CHAR(20), TPEMPRESA CHAR(1),
pergunta respondeu ao VMIRANDA_01 de Denis Courcy em MySQL
Bom dia. Criei sua tabela sem erro através do código que você postou. -
Leia isto. https://www.horadecodar.com.br/2020/04/29/como-conectar-python-com-mysql/ https://www.w3schools.com/python/python_mysql_insert.asp
-
Converter linhas em colunas com mais de um dado
pergunta respondeu ao wdroops de Denis Courcy em MySQL
Este tipo de consulta é chamado de pivot table. Funciona assim: SELECT produto, SUM(IF(DATA='10/2020',faturamento,0)) AS `Fat_10/2020`, SUM(IF(DATA='11/2020',faturamento,0)) AS `Fat_11/2020` FROM nomedatabela GROUP BY produto Para fazer com que esta query rode dinamicamente é necessário criar uma procedure. É mais fácil fazer através de programação -
Otimização de um UPDATE para gravar 5800 registros
pergunta respondeu ao Késsio Ruperth de Denis Courcy em MySQL
Rode a query com a cláusula EXPLAIN a frente dela. exemplo EXPLAIN UPDATE.... ou EXPLAIN SELECT ... O EXPLAIN não afetará os dados em sua base. Ele mostrará onde estão os gargalos de índices em sua query. Verifique indices. Em último caso, mostre a query para que possamos ajudá-lo melhor -
Qual a composição do argumento EntradaMat? Crie uma tabela e consulte-a. Se retornar NULL não é um feriado. Senão, use a função DAYOFWEEK que, ao passar uma data para ela, retorna 1 para domingo, ..., e 7 para sábado.
-
Vamos por partes. Como você resolveria o item a? Mostre-me e corrigirei. Tenho por norma não fazer exercícios para alunos. Mas, orientá-los na execução dos mesmos.
-
Como este select pode retornar multiplas linhas, a instrução BETWEEN na cláusula WHERE do primeiro SELECT não sabe como apresentar a resposta a sua pergunta. Sugiro que você utilize um JOIN entre o primeiro e o segundo SELECT e, assim, consiga obter o que deseja.
-
Erro ao instalar MySql Server 5.0 no Windows 10 Pro
pergunta respondeu ao Porter de Denis Courcy em MySQL
Você pode baixar e instalar a versão mysql-5.1.30-win32. Não tenho problemas com a instalação dela em nenhuma versão 32 ou 64 bits de windows XP a Windows Server 12. -
Calcular o consumo de água com base em uma base de leituras
pergunta respondeu ao flaviokowalske de Denis Courcy em MySQL
Corrigi o SELECT que enviei anteriormente SELECT dtLeitura, SUM(leitura) AS TT_Leitura FROM ( SELECT DATE(L1.horario) AS dtLeitura, (L1.leitura * -1) AS leitura FROM leituras L1 INNER JOIN ( SELECT MIN(L2.horario) AS hora2 FROM leituras L2 WHERE DATE(L2.horario) = '2020-11-05' ) Minimo ON Minimo.hora2 = L1.horario UNION SELECT DATE(L3.horario) AS dtLeitura, L3.leitura AS leitura FROM leituras L3 INNER JOIN ( SELECT MAX(L4.horario) AS hora4 FROM leituras L4 WHERE DATE(L4.horario) = '2020-11-05' ) Maximo ON Maximo.hora4 = L3.horario ) a; É uma repetição do exercício anterior onde a menor leitura (aquele multiplicado por -1) será o maior valor do dia anterior e a menor leitura será o menor do dia atual. Tente assim: SELECT dtLeitura, SUM(leitura) AS TT_Leitura FROM ( SELECT DATE(L1.horario) AS dtLeitura, (L1.leitura * -1) AS leitura FROM leituras L1 INNER JOIN ( SELECT MAX(L2.horario) AS hora2 FROM leituras L2 WHERE DATE(L2.horario) = '2020-11-05' ) Minimo ON Minimo.hora2 = L1.horario UNION SELECT DATE(L3.horario) AS dtLeitura, L3.leitura AS leitura FROM leituras L3 INNER JOIN ( SELECT MIN(L4.horario) AS hora4 FROM leituras L4 WHERE DATE(L4.horario) = '2020-11-06' ) Maximo ON Maximo.hora4 = L3.horario ) b; -
Calcular o consumo de água com base em uma base de leituras
pergunta respondeu ao flaviokowalske de Denis Courcy em MySQL
A primeira coisa a fazer é trocar o tipo DATETIME por TIMESTAMP. A segunda coisa é criar um campo dtLeitura do tipo DATE e criar um índice por ele para acelerar o processo. O código pode ser como o abaixo ou melhorar conforme sua vontade. Usei a função DATE para obter a data sem a hora e assim, facilitar a pesquisa. Porém isto causará TABLE SCAN. Ou seja, varrerá toda a tabela. A primeira leitura multiplica por -1 para inverter o sinal e obter a subtração dos dois elementos de leitura. SELECT SUM(leitura) AS consumo FROM ( SELECT (leitura * -1) AS leitura, MIN(horario) AS horario FROM leituras WHERE DATE(horario) = '2020-11-05' GROUP BY DATE(horario) UNION SELECT leitura, MAX(horario) AS horario FROM leituras WHERE DATE(horario) = '2020-11-05' GROUP BY DATE(horario) ) a; -
Terá que desenvolver um programa para isto. Leia> https://www.hardware.com.br/comunidade/xml-script/1164328/
-
Esta select está CONTANDO o número de registros por cana nome na intercessão de conjuntos que você forneceu. Para fazer o que você escreveu você deverá usar a função SUM, que somará os valores desejados. Então seria algo como SUM(Preço Unitário * Quantidade) AS TT_VendaTotal, que daria a soma total de vndas líquidas.
-
Este erro informa que você informou 20 campos mas que ele espera 21. Por isso não deixa gerar a procedure. Reveja seu código.
-
Soma de valores entre 2 tabelas no MySql
pergunta respondeu ao Luan Felipe Leite da Silva de Denis Courcy em MySQL
Bom dia. Estas tabelas se relacionam? Se sim. Com quais campos? O campo nome é o campo comum entre as tabelas? Por exemplo. Tabela Produto Nome=X Na tabela insumos teria nome=X, tipo=x, data_produção=xxxx-xx-xx, preço=0.00, estoque=xxxx O campo estoque é numérico? Se sim não deveria ser do tipo numerico e não varchar? -
Remova espaço entre emum e parenteses e entre decimal e parenteses
-
Para remover a mascara use o REPLACE UPDATE tabela SET campo = REPLACE(REPLACE(REPLACE(REPLACE(p_cpfcnpj, ".", ""), "-", ""), "/", ""), " ", "") ; O update acima grava os dados desformatados . O primeiro REPLACE remove os espaços; o segundo remove as barras; o terceiro remove os traços e o quarto remove os pontos. UPDATE tabela SET p_cpfcnpj = NULL WHERE LENGHT(p_cpfcnpj) < 11; No update acima ele verifica, depois de desformatar o campo p_cpfcnpj, se ele é menor que 11 digitos e o grava como nulo. Para formatar o CNPJ use a função abaixo da seguinte forma: UPDATE tabela SET CONCAT(SUBSTR(p_cpfcnpj,1,2),".",SUBSTR(p_cpfcnpj,3,3),".",SUBSTR(p_cpfcnpj,6,3),"/",SUBSTR(p_cpfcnpj,9,4),"-", SUBSTR(p_cpfcnpj,13,2)) WHERE LENGHT(p_cpfcnpj) > 11; E para formates o CNPJ use UPDATE tabela SET p_cpfcnpj = CONCAT(SUBSTR(p_cpfcnpj,1,3),".",SUBSTR(p_cpfcnpj,4,3),".",SUBSTR(p_cpfcnpj,7,3),"-",SUBSTR(p_cpfcnpj,10,2)) WHERE LENGHT(p_cpfcnpj) < 12
-
INNER JOIN em 2 tabelas de 2 bases de dados diferentes
pergunta respondeu ao Enlibra de Denis Courcy em MySQL
Bom dia. Fiz um teste e retornou sem problemas. Veja o código que usei. SELECT c1.* FROM base1.cliente c1 INNER JOIN base2.cliente c2 ON c2.matricula = c1.matricula LIMIT 10 É importante que os dois bancos estejam no mesmo servidor de bd (mesmo serviço). -
CRIAR UM DIAGRAMA ENTIDADE - RELACIONAMENTO
pergunta respondeu ao Antônio Ryan de Denis Courcy em MySQL
Oi Antônio, Vamos fazer isso de uma forma antiga e bem didática, com lápis e papel. Com base no item (a), desenhe um retângulo e coloque nele o nome LOJA; Dentro do retângulo escreva os nomes dos atributos. CNPJ_LOJA, NOME_LOJA, SIGLA_LOJA; Como dever de casa, faça o mesmo para CLIENTES e PRODUTOS Me mostre o resultado.- 2 respostas
-
- sql
- bancodedados
- (e %d mais)
-
Neste select você não há menção às tabelas equipamento e caixa em associação com outra tabela. Outro problema é o do GROUP BY. Ele pressupõe que você fará algum tipo de agrupamento usando SUM, COUNT ou outra função deste tipo. No select acima não existe nenhuma destas funções. usando a sintaxe correta, abaixo podemos ver onde estão os erros mais graves de sua select SELECT data_envio, cx.numero_pedido, nome_cliente, m.nome, co.quantidade FROM conteudo co INNER JOIN pedido p ON p.numero_pedido = co.numero_pedido INNER JOIN cliente cl ON cl.idcliente = p.cliente_idcliente INNER JOIN modelo m ON m.idmodelo = co.modelo_idmodelo INNER JOIN equipamento e ON ?????? INNER JOIN caixa cx ON ????? WHERE ????? GROUP BY cx.numero_pedido Se você vai agrupar somente por numero_pedido então não haverá necessidade dos campos data_envio, nome_cliente, e m.nome. E o campo co.quantidade deverá estar em uma das funções de agrupamento mencionadas acima.
-
Melhore a pergunta
- 2 respostas
-
- join 2 tabelas
- select
-
(e %d mais)
Tags:
-
Por que não colocar este campo como NOT NULL e evitar que tenhas este trabalho?