Ir para conteúdo
Fórum Script Brasil

CAIO.EXE

Membros
  • Total de itens

    91
  • Registro em

  • Última visita

Tudo que CAIO.EXE postou

  1. Fabio, bom dia. Isso acontece porque você não utilizou o alias nos campos ESTOQUE_DISPONIVEL, DESCRICAO e CODIGO com certeza você o mesmo campo em duas tabelas.
  2. CAIO.EXE

    Ajuda em query MySql

    Amigo, boa tarde. Essa é facil, utilize a condição IN. segue exemplo: select id_alimento from tabela where id_ingredientes in (8,9,10) group by id_alimento --apenas para vir duplicado
  3. hahahaha vdd! muito cara de pergunta de faculdade! Amigo, procura pela função WHILE ai é só colocar um WHILE dentro do outro e já era! abrs!
  4. Amigo, bom dia. No lugar do INNER utilize o LEFT JOIN ou RIGHT JOIN Isto faz com que todos os registros da tabela da esquerda ou da direita retornem mesmo que não haja uma ligação com a outra tabela.
  5. CAIO.EXE

    Otimizar Query

    Dera, boa tarde. não me parece muito ruim não... Algumas dicas: se não possue, crei indice nas duas tabelas utilizando o campo UID No where coloque a tabela menor do lado esquerdo Além disso não vejo muito o que pode ser feito... Abrs
  6. Cristian, boa tarde. Isso esta com cara de trabalho da faculdade, infelizmente não posso lhe ajudar. caso tenha alguma pergunta específica estou à disposição. A maioria das perguntas são resolvidas na clausula WHERE de forma simples.
  7. Amigo, bom dia. não sei se entendi direito sua pergunta, Vejamos, você quer criar uma view onde apenas os produtos ativos (Status='Ativo') e que já foram devolvidos apareçam (dt_fim > data_atual) Você pode ciar um join entre as tabelas e colocar estas condiçoes Segue exemplo: Select equip.id, equip.descricao from tb_equipamentos equip inner join tb_registro reg on equip.id = reg.id and status = 'ativo' and dt_fim > now() creio que isso resolva sua view mostrar apenas produtos ativos e já entregues.
  8. Amigo, bom dia. Não posso confirmar com toda a certeza, mas você pode remover a premissão na pasta para o administrador ou grupo do administrador mas antes de fazer isso dê os privilégios necessário para um usuário e tenha certeza que ele tem acesso. Fiz algo parecido num cliente e ate hj ele não tem acesso na pasta heheh
  9. CAIO.EXE

    Ajuda com Select

    Amigo, boa tarde. use a funcao MAX() para o ID da mensagem lhe mostrar a ultima mensagem e agrupe pelo usuário que envio. acho que isso deve te ajudar. Abrs. Caio Cardoso
  10. Adalberto, boa tarde. cara, a principio te sugiro rever suas tabelas, pelo que me parece você tem muita informacao duplicada, eu refiz sua query, por favor teste-a e me informe caso ela ainda mostre algum problema. SELECT funcionarios.empresa, funcionarios.funcionario, funcionarios.cartaoponto, funcionarios.nome, funcionarioscompetencias.funcao, funcionarios.dataadmissao, funcionarios.datademissao, funcionarios.causademissao, funcionariossalarios.valorsalario, folhafuncionarios.baseinsssalario, acumuladofuncionarios.valorsalfam12, apontamentosfolha.comissoes, folhafuncionarios.baseinsssalario, folhafuncionarios.valorinsssalario, (folhafuncionarios.valorfgts + folhafuncionarios.valorfgts13), acumuladofuncionariosir.valorassmed12, funcionarioscompetencias.competencia, folhafuncionarios.baseirsalario, folhafuncionarios.deducaoirsalario, '31122010', acumuladofuncionariosir.baseir13, acumuladofuncionariosir.deducaoir13, acumuladofuncionariosir.valorir13, acumuladofuncionariosir.deducaodep13, acumuladofuncionariosir.valorpensao13, acumuladofuncionariosir.deducaoir13, ferias.apuracaoir, folhafuncionarios.baseirferias, ferias.deddependente, ferias.pensaoferias, ferias.inss, ferias.vencimentoir, folhafuncionarios.salariocontribuicaoinss, (folhafuncionarios.valorfgts + folhafuncionarios.valorfgts13) FROM funcionarios left join funcionarioscompetencias on funcionarioscompetencias.empresa = funcionarios.empresa left join funcionariossalarios on funcionariossalarios.empresa = funcionarios.empresa left join folhafuncionarios on folhafuncionarios.empresa = funcionarios.empresa left join acumuladofuncionarios on acumuladofuncionarios.empresa = funcionarios.empresa left join acumuladofuncionariosir on acumuladofuncionariosir.empresa = funcionarios.empresa left join ferias on ferias.empresa = funcionarios.empresa left join apontamentosfolha on apontamentosfolha.empresa = funcionarios.empresa WHERE funcionarios.empresa = '000257' and funcionarioscompetencias.competencia = '122010' and acumuladofuncionarios.exercicio = '2010' and ferias.pricompetefer = '122010' and apontamentosfolha.competencia = '122011' abrs.: Caio Cardoso
  11. Victor, boa tarde. basta usar a funcao: to_number(texto, formato) exemplo: to_number('12,454.8', '99G999D9') o "D" é o separador do decimal "," o "G" é o separador do milhar "." no link abaixo você tem mais informações e opções de formatação: http://www.postgresql.org/docs/9.1/static/...formatting.html
  12. Décio, Em relação à performance não há problemas uma vez que as tabelas são pequenas, a unica coisa a se verificar é em relação a permissoes, se as tabelas forem de clientes diferentes e um não deve ter acesso as tabelas dos outros o ideal é criar uma base para cada um para facilitar o controle de acesso, agora se só você tem acesso não tem problema, deixe tudo junto e seja feliz =)
  13. Ricco, bom dia. cara, para mover a tabela para outro banco você pode usar o import/export wizzard, é o meio mais facil, não tem erro, você define a origem e o destino e pronto! a ferramenta faz o resto, depois você exclui a tabela do banco antigo. Agora, o Log você pode usar a instruçao SHIRINK DATABASE DBCC SHRINKDATABASE ( database_name | database_id | 0 [ , target_percent ] [ , { NOTRUNCATE | TRUNCATEONLY } ] ) [ WITH NO_INFOMSGS ] DBCC SHRINKDATABASE (AdventureWorks2008R2, TRUNCATEONLY); Mas antes de fazer isso crie um BKP do log, pois se amanha você precisar restaurar a base poderá volta-lo para o momento exato onde ocorreu o erro.
  14. tenta assim brother: select vendedor, data, SUM(pagto) from projecao P inner join vendas V on (P.vendedor = V.vendedor) where data BETWEEN '$iniciomes' AND '$fimmes' AND projecao.mes = $mesvigente AND projecao.ano = $anovigente group by vendedor, data order by 3,1,2 não tenho MySQL instalado aqui, tive que fazer na unha, se der algum erro você reporta aqui =)
  15. amigo, bom dia. 1ª so quero os resultados que tem o valor “13” do campo “CodFpagto” da Tabela ”fpagtoCupom” R: clausula WHERE CodFpagto = 13 2ª Com valores maiores que “ 52” do campo “CodFpagto” da Tabela ”fpagtoCupom” R: clausula WHERE mais uma vez... AND valor > 52 3ª Ordenados pelo campo “valor” da Tabela ”fpagtoCupom”. Aqui fiz um select que funciona, mas somente na tabela ”fpagtoCupom”, que seria minha tabela principal. R: clausula ORDER BY VALOR 4ª se possivel que mostre 30 resultados por pagina. R: limit 30 para relacionar as tabelas utilize o JOIN select * from tabela1 join tabela2 on (tabela1.cod = tabela2.cod)
  16. Bruno, bom dia. Cara, você pode usar o Import/Export Wizard nele você define pra onde quer mandar a query ou tabela, separadores e tudo mais.
  17. CAIO.EXE

    Exclusão e limit

    cara faz o seguinte, se sua tabela tiver um campo ID auto increment adicione a condição: WHERE ID < (select max(id) - 20 from tabela_que_vai_deletar) agora, se você não tiver este campo incremental, deverá primeiro criar uma querie que retorne a linha 20 em ordem descrescente e jogar em uma variavel select ID from tabela order by 1 desc limit 20,1
  18. Netanias, boa tarde. Cara, não sei se entendi exatamente o que você precisa, mas se você quer salvar as queries e chama-las pelo site uma solução é criar procedures, com elas vc "salva" a consulta e define os parametros que desejar. segue o link com explicação e exemplo: http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html
  19. Obrigado pelas dicas Fulvio, Irei realizar alguns testes e se tudo ocorrer bem, ou aparecerem mai duvidas vou postando por aqui! obrigado.
  20. Boa tarde Fulvio, isso mesmo cara, mas eu precisava do ID do registro, algo como o ROWID do Oracle. Meu problema é o seguinte: estou fazendo a migração de algumas tabelas de uma base para outra, o problema é que, eu não posso copiar tudo de uma vez para não honerar o servidor, com isso a saida foi criar um ETL que copie uma certa quantidade de dados por vez, nas tabelas que possuem PK simples ou campo de data foi facil, porém eu possuo tabelas que não possuem campos de data e a PK é composta. Mas já estou pensando eu outra forma de copiar essas informações, talvez com um join, mas minha preocupação é o tempo de resposta, pois as tabelas possuem alguns milhares de registros. Obrigado.
  21. Yuri, bom dia. Tente utilizar a condição OR na clausula WHERE exemplo: WHERE Título LIKE '%$criterio%' OR Autor LIKE '%$criterio%' OR Editora LIKE '%$criterio%' e por ai vai... abrs
  22. Srs, bom dia. Preciso exibir o ID fisico (do jeito que ele foi inserido na tabela) dos registros de uma tabela, No Oracle existe a função ROWID() e ROWNUM(), já tentei utilizar o ROW_NUMBER(), mas ele exige que seja informado uma ordenação e isso prejudicaria meu resultado. Agradeço a ajuda, obrigado.
  23. Cara, tenta adicionar a clausula GROUP BY no ID do produto
  24. Esta na mão fera, SELECT if(`tab_funcionario_folha`.`ID_FUNCAO`=22,1,0) As Expr1, if(`tab_funcionario_folha`.`ID_FUNCAO`=23,1,0) as Expr2, if(`tab_funcionario_folha`.`ID_FUNCAO`=22,1,0) + if(`tab_funcionario_folha`.`ID_FUNCAO`=23,1,0) as Expr3 FROM `tab_funcionario_folha`;
  25. CAIO.EXE

    Ajuda com comando sql

    Vivi, bom dia. Dê uma olhada neste link: http://dev.mysql.com/tech-resources/articl...reign-keys.html Nele você verá como criar uma trigger que realizará o delete nas duas tabelas. Ou, de uma maneira mais "manual" você pode criar 2 instruções de DELETE, uma para cada tabela passando o mesmo codigo de venda.
×
×
  • Criar Novo...