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. Faça assim: SELECT nome_colunista as NOME FROM colunistas UNION SELECT nome_entrevistado AS NOME FROM entrevistado ORDER BY NOME
  2. select sum(if(coluna1=1,1,0)+ sum(if(coluna2=1,1,0)+ sum(if(coluna3=1,1,0)+ sum(if(coluna4=1,1,0)+ sum(if(coluna5=1,1,0)+ sum(if(coluna6=1,1,0) as total-colunas_com_um from tabela
  3. O Mysql, a partir da versão 5.1.x, possibititou a ferramenta de schedulle. Leia http://dev.mysql.com/doc/refman/5.1/en/events.htm´ para mais detalhes.
  4. Para que você possa obter o valor acima troque o INNER JOIN por LEFT JOIN
  5. Tente assim: SELECT * FROM fpagtoCupom fc INNER JOIN contravale cv ON cv.NroCupom = fc.NroCupom INNER JOIN cupom cp ON cp.NroCupom = fc.NroCupom WHERE fc.CodFpagto = 13 AND fc.Valor > 52 ORDER BY fc.Valor LIMIT (0,30)
  6. Denis Courcy

    Exclusão e limit

    A primeira resposta WHERE ID < (select max(id) - 20 from tabela_que_vai_deletar) Não funciona. pois se o ID já sofreu exclusão a numeração estará com saltos e o resultado da subtração falhará. A segunda resposta só funcionará se o select para achar os vinte últimos, for executado independentemente da ação de exclusão. Ou seja se você colocar o select como parte da cláusula where do delete, então haverá erro. Exemplo: DELETE FROM tabela_que_vai_deletar WHERE ID = (select ID from tabela order by 1 desc limit 20,1) Haverá erro. O Correto será: SET @VARIAVEL = (select ID from tabela order by 1 desc limit 20,1); DELETE FROM tabela_que_vai_deletar WHERE ID < @VARIAVEL;
  7. Repita a formula na cláusula where que funciona. Exemplo: SELECT col1, col2, col3, (col1+col2+col3) AS Total from tabela where (col1+col2+col3) <= 1
  8. 0 - FAÇA CÓPIA DO ARQUIVO MY.CONF ANTES DE CONTINUAR 1 - Pare o serviço do mysql 2 - Altere o arquivo my.conf para as variáveis abaixo: 3 - Mova a pasta do local antigo para o novo 4 - Restart o Serviço do MySQL
  9. Em bancos de dados, não importando qual, SEMPRE é necessário saber usar os comandos manuais.
  10. A criação de uma view é simples. Basta você seguir a receita de bolo abaixo: DROP VIEW IF EXISTS `nomedobanco`.`nome da view`; CREATE VIEW `nomedobanco`.`nome da view` AS ( SELECT * FROM ... ) // aqui entra a select com join para executar a consulta desejada
  11. Oi 'frraraujo' Respondendo sua perguntas temos: Coloque o código do produtor na tabela propriedades e você terá um relacionamento de um produtor para muitas propriedades. Este tipo de normalização está correto se sua intenção é não deixar espaços "em branco" desnecessários. CPF e CNPJ são atributos que não devem ser utilizados para chave primária. O uso de um código/identificador é o método mais correto. Eu teria que entender todo o contxto para poder opinar melhor sobre isto. Não há um só jeito de fazer algo. Como dica renomeie o atributo código da tabela produtor para codproprodutor (ou coisa parecida) e o atributo código da tabela propriedades para codpropriedade (ou coisa semelhante).Isto possibilitará um entendimento melhor quando da leitura do modelo. (por conter nomes identicos o sistema de DER não conseguiu fazer o relacionamento um para muitos como você queria)
  12. Faça assim: SELECT f.codigo, f.quantidade-a.quantidade as quantidade FROM FENIX f LEFT JOIN ALMOX a ON a.codigo = f.codigo
  13. Faça assim : $seleciona=mysql_query(" SELECT p.id, p.nome, c.id_curso, c.curso, s.id_sexo, s.sexo, ci.id_cidade, ci.cidade FROM pessoa p INNER JOIN sexo s ON s.id_sexo = p.id_sexo INNER JOIN cidade ci ON ci.id_cidade = p.id_cidade INNER JOIN curso c ON c.id_curso = p.id_curso ORDER BY p.nome") or die(mysql_error());
  14. Se usar o DEFAULT CHARSET=latin1 você não precisará se preocupar com isso.
  15. Crie duas triggers. uma de insert e outra de update e coloque a função now dentro delas que funcionará.
  16. Simplesmente mudando seu código para que fique assim: SELECT Id, IF(Data1 = '2011-09-17', 'VEIO DA DATA1', 'VEIO DA DATA2') FROM Programacao WHERE Data1 = '2011-09-17' OR Data2 = '2011-09-17'
  17. Denis Courcy

    Problema com select

    Encontrei dois erros. 1 em seu DER e outro em seu select. O Erro do DER. O relacionamento entre produtos e loja deve ser muitos para muitos e não um para muitos entre loja e produtos. Da forma atual se houver um mesmo produto para duas lojas então o produto deverá ser vadastrado duas vezes. O Erro em seu SELECT (o objetivo real dete tópico) Você conectou a tabela loja com a tabela produto usando as chaves primarias de ambas as tabelas, quando esta conecção é estabelecida entre loja_idloja da tabela produto com idloja na tabela loja.
  18. Tente assim: SELECT campo1, campo2, max(campo3) as campo3 FROM minhatabela GROUP BY campo1, campo2
  19. 'CEBOLA~', É como falei da primeira vez. este relacionamento é N:N (muitos para muitos) Faça assim:Tabela de usuário Create table usuario( id_usuario integer unsigned not null auto_increment, nome varchar(60) not null default '', `data` date, primary key(id_usuario) Tabela de localCreate table locais( id_local integer unsigned not null auto_increment, nome varchar(60) not null default '', primary key(id_local) Tabela que faz o relacionamento entre usuário e localcreate table usuario_x_local( id_usuario integer unsigned not null default '0', id_local integer unsigned not null default '0' foreign key (id_usuario) references usuario(id_usuario) on update no action on delete no action, foreign key (id_local) references local(id_local) on update no action on delete no action) Um usuário poderá estar relzacionado a varios locais e um local poderá estar relacionado a vários usuários
  20. Neste caso a tabela de usuário deverá ficar assim: Create table usuario( id_usuario integer unsigned not null auto_increment, nome varchar(60) not null default '', `data` date, primary key(id_usuario) E deverá ser criada uma tabela de locais assim:Create table locais( id_local integer unsigned not null auto_increment, nome varchar(60) not null default '', id_usuario integer unsigned not null default '0' primary key(id_local) foreign key (id_usuario) references usuario(id_usuario) on update no action on delete no action) Eu vejo que assim está errado, pois o mesmo local deverá ser recadastrado se houver outro usuário para o mesmo lá. Mas se é isto que você quer...
  21. Agora a coisa mudada de figura. Você está falando de relacionamento muitos para muitos entre usuários e locais. Ou seja, um usuário pode estar em muitos locais e um local pode ser para muitos usuários. É isto? Ou você está falando de relacionamento um para muitos entre locais e usuários?. Neste caso um local para muitos usuários. Ou você está falando de relacionamento uma para muitos entre usuários e locais? E neste caso, um usuário pode estar em muitos locais. Qual das tres opções acima?
  22. Create database nomedobancodedados É o comando para criar um banco de dados. use meubancodedados É o comando para utilizar um banco de dados específico Create table usuario( id_usuario integer unsigned not null auto_increment, nome varchar(60) not null default '', local varchar(20) not null default '', `data` date, primary key(id_usuario)É o comando para criar a tabela que você exemplificou acima.
  23. Clenilton Alencar, Procure sobre pivot table aqui no forum. Já escrevi sobre isso.
×
×
  • Criar Novo...