Ir ao conteúdo
  • Cadastre-se

emailpublico3

Membro Pleno
  • Posts

    98
  • Cadastrado em

  • Última visita

  1. Sim, resolveria, porém (obviamente) repete a coluna, e ele quer via SQL que a coluna que for repetir não apareça o nome. Alias, pensando bem, faça um ROWNUM OVER ( PARTITION BY X.DATA, X.TIPO, X.TEXTO ORDER BY X.DATA ASC ) COM UM CASE SE O VALOR FOR DIFERENTE DE ZERO MOSTRA NULL PARA CADA COLUNA. A ideia é a seguinte, com ROWNUM com partition by, você consegue definir uma sequencia de linhas para qualquer grupo que quiser separar então A A B B VAI SER 1 A 2 A 1B 2B ENTÃO se fizer um CASE ROWNUM WHEN 1 THEN Texto ELSE NULL acho que assim dá pra fazer como quer, porém utilizei esse recurso já apenas em Oracle e Sql Server, não sei se o banco que você utiliza tem, mas tá ai. To com sono. Se preferir me passe o código e monto para você.
  2. Também desconheço por SQL, Conheço por aplicações como indicado, Excel, Cubos, Relatórios. Etc.. sql diretamente, não.
  3. Você pode fazer o backup de 1 e voltar no outro, é isso? Utilize ferramentas, como HeidiSQL para te auxiliar, ou procure por Mysql Dump ; MySQL restore.
  4. @Wonkaewt Qual a duvida mesmo? Pelo que vi tem as respostas.. Você quer , fazer por exemplo, um backup diário das informações do banco remoto? Você quer sincronizar os dois bancos para que tenham a mesma informação? Você quer trocar o banco de lugar? Você quer , além de sincronizar os dois bancos, a aplicação escolher qual é o melhor e fazer o balanceamento automático ?
  5. Boa noite, Então, como não houveram respostas, vou arriscar propondo uma solução. Modelei aqui, e a ideia que proponho é você obter da lista do que compõe a maior quantidade de itens para um determinado produto. Modelei e abaixo segue script para criação, popular e um exemplo do que pensei. CRIANDO TABELAS CREATE TABLE produto ( codProduto INT AUTO_INCREMENT NOT NULL, nomeProduto VARCHAR(100) NOT NULL, PRIMARY KEY (codProduto) ); CREATE TABLE materia ( codMateria INT AUTO_INCREMENT NOT NULL, nomeMateria VARCHAR(20) NOT NULL, PRIMARY KEY (codMateria) ); CREATE TABLE materia_produto ( codProduto INT NOT NULL, codMateria INT NOT NULL, qtdMateria DECIMAL(10) NOT NULL, PRIMARY KEY (codProduto, codMateria) ); ALTER TABLE materia_produto ADD CONSTRAINT produto_materia_produto_fk FOREIGN KEY (codProduto) REFERENCES produto (codProduto) ON DELETE NO ACTION ON UPDATE NO ACTION; ALTER TABLE materia_produto ADD CONSTRAINT materia_materia_produto_fk FOREIGN KEY (codMateria) REFERENCES materia (codMateria) ON DELETE NO ACTION ON UPDATE NO ACTION; Inserindo dados e Exemplos ( OS COMENTÁRIOS NA SQL PODEM FALHAR NA EXECUÇÃO ) ------ cadastrando select * from materia ; insert into materia VALUES (1 , 'Pão') ; insert into materia VALUES (2 , 'Presunto') ; insert into materia values(3, 'Alface'); INSERT INTO produto VALUES ( 1 , 'Sanduiche') ; INSERT INTO produto VALUES ( 2 , 'Natureba') ; SELECT * FROM MATERIA_PRODUTO; INSERT INTO materia_produto values (1,1,1) ; INSERT INTO materia_produto values (1,2,3) ; INSERT INTO materia_produto values (2,3,2) ; SELECT * FROM materia_produto ; ---- buscando por SANDUICHE , itens Pão e Presunto SELECT materia_produto.codProduto, produto.nomeProduto, COUNT(materia_produto.codProduto) maisApareceu FROM materia_produto INNER JOIN materia on materia.codMateria = materia_produto.codMateria inner JOIN produto on produto.codProduto = materia_produto.codProduto WHERE materia_produto.codMateria in (1,2) GROUP BY codProduto order by maisApareceu DESC limit 0,1 ---- buscando por NATUREBA , itens Pão e Alface SELECT materia_produto.codProduto, produto.nomeProduto, COUNT(materia_produto.codProduto) maisApareceu FROM materia_produto INNER JOIN materia on materia.codMateria = materia_produto.codMateria inner JOIN produto on produto.codProduto = materia_produto.codProduto WHERE materia_produto.codMateria in (1,3) GROUP BY codProduto order by maisApareceu DESC limit 0,1
  6. Correto, porém, é interessante saber a forma como os dois trabalha. Se você tem uma tabela de funcionários, nesta tabela tem a foto 3x4 da pessoa, digo que raramente irá utilizar esta imagem, mas seria interessante guardar ela no banco em vez de fazer a referencia do arquivo. Agora, falando de GED, por exemplo, eu já pensaria na referência do arquivo apenas.
  7. Então, não tenho experiência com arquivos em bancos de dados, mas é mais ou menos assim. Dependendo do banco ele permite que você faça a inserção do objeto, porêm você deverá converter a imagem em um array de bits, e guardar a informaçõa já convertida.
  8. Então, minha sugestão é a seguinte. A diferença de produto ou serviço, é justamente, se um é produto, ou serviço, ou seja, os campos das DUAS tabelas são iguais, e você tem 2 relacionamentos desnecessários. Então porque não criar apenas a tabela produto, e criar uma coluna, que será , produto_servico, nesta coluna, você irá definir como sendo Boolean, char, etc, da forma que preferir. Assim, você reduz, uma tabela, um relacionamento. VENDAS ----< ITENS_VENDAS >-------PRODUTO [ idProduto, produto_servico(char['P' OU 'S'], nome, valor, descricao) etc.
  9. Estude a teoria,as formas normais e pratique modelagem postando suas duvidas no forum. Apenas praticando para ver se vai se identificar.
  10. Verdade, nada que se aprende joga fora. rsrsr, Eu aconselho a modelar no workbench pois vai ter uma melhor qualidade e trabalhar no Heidisql pois terá mais produtividade. Se não gostar, você não terá nada a perder. Att.
  11. Esquece tudo sobre phpmyadmin kk Use esses 2 Heidisql Mysqlworkbench
  12. Ok. Responderei no meio do dia. Obrigado Tentei aqui mas ainda não consegui. O banco de dados final é este mesmo ? Sugiro alguns relacionamentos seja n-n exemplo, aluno e turma. quando conseguir posto a resposta aqui.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...