Ir para conteúdo
Fórum Script Brasil

fulvio

Moderadores
  • Total de itens

    1.218
  • Registro em

  • Última visita

Tudo que fulvio postou

  1. fulvio

    Dados Repetidos

    Boa tarde MMachado, Se os dados não estão duplicados na tabela, pode ser um relacionamento 1 para N. Quando se realiza o select, há a duplicidade dos dados. O que pode fazer é pegar aleatoriamente um dado que repete, e pontualmente consultá-lo em todas as tabelas que realiza o join. Provavelmente encontrará uma tabela que possua um relacionamento 1 para N, com mais de um valor inserido. Para tirar a prova, altere/delete um dos valores e execute novamente seu select. Se o valor deixar de duplicar, encontrará a causa. Espero que ajude!!
  2. Boa tarde Kelly, Seja bem vindo ao Forum!! O Sql dá muito problema com o Seven e com algumas plataformas de desenvolvimento. Dê uma pesquisa no Fórum que encontrará tópicos referentes a alguns problemas. Espero que ajude!!
  3. fulvio

    Problema na soma

    Boa tarde DnL.90, Quando você precisa de um resultado para fazer outro, a forma de se fazer é utilizando subquerys mesmo. Mas a maioria das vezes ela fica muito complexa. Se tiver algum problema ou erro, fica MUITO dificil de corrigir. O mais aconselhável seria criar uma tabela temporária e ir fazendo os cálculos e gravando nesta temporária. Após a gravação, utilizar os dados para realizar novo cálculo.
  4. Boa tarde rafaengenharia, Os comandos que postou seriam os apropriados para realizar esta exportacção... rs. Outra forma de fazer: - No sql 2000, você poderá criar uma DTS. - No sql 2008, um SSIS (que é a evolução da DTS). Pesquise na net que encontrará muitas informações sobre os processos. Espero que ajude!!
  5. Boa tarde Allan, Tenta restaurar o banco em outra servidora, para não comprometer nenhuma informação. Pelo log, dependendo da sua configuração, você conseguirá recuperar os scripts executados até o momento do bkp. Se quiser ler o log: SELECT * FROM ::fn_dblog(null, null)
  6. É... script mesmo não tenho... e acho q seja um pouco dificil de encontrar. Este tipo de análise é bem subjetiva. Cada caso é um caso. Por isso q encontrará mais orientações do q implemenatações em si.
  7. Bom dia Pizero, Alguns posts mais antigos possuem informações sobre otimizações. Mas posso listar algumas que já podem ser verificadas: - Criação (ou recriação) de índices. - Análise do script que realiza consulta a tabela, para saber se poderá ser otimizado - poderá utilizar o próprio Management, analisando o mapa de execução montado pelo sql. - Expurgo dos dados antigos da tabela, para que se trabalhe com a tabela mais enxuta. - Identificação de possível lentidão na rede (que a vezes pode se confundir com lentidão no aplicativo). - Identificação de possível aumento da concorrência (maior quantidade de usuários acessando o sistema). - Conforme modelagem dos dados, criação de View para facilitar consultas. - Identificação de possível estress no servidor (utilização do processamento, memória, etc). Para o sql, 77 mil linhas é relativamente pouco... rs. Digo relativamente pois o ambiente como um todo influencia a performance. Onde trabalho, a necessidade de um expurgo de dados foi realizada quando haviam várias tabelas com cerca de 20 milhões de inserções. Espero que ajude...
  8. Bom dia Rafael, Para fazer isto, terá testar a condição primeiro. Segue exemplo: ................... IF (SELECT TOP 1 1 FROM TABELA WHERE ID=?? and STA_ID = 1) = 1 BEGIN INSERT INTO MANUTENCOES (MAN_OFICINA,MAN_OS ,STA_ID ,MAN_LOCAL ,EQU_ID,MAN_DESCRICAO ,MAN_OBSERVACAO , MAN_DT_INICIO,MAN_DT_PREVISAO,TIPO_SERVICO_ID,TIPO_PREV_ID) VALUES (@OFICINA,@OS,@STATUS,@LOCAL,@EQUIPAMENTO_ID,@DESCRICAO,@OBSERVACAO,@DT_INICIO,@ DT_PREVISAO,@TIPO_SERVICO,@TIPO_PREVENTIVA) END ...................
  9. Estava fazendo os testes deta forma: CREATE TABLE #T_PESSOA_FISICA (id int,cpf int) CREATE TABLE #T_PESSOA (id int,Nome VARCHAR(20)) INSERT INTO #T_PESSOA_FISICA VALUES (1, 123464564) INSERT INTO #T_PESSOA_FISICA VALUES (3, 123145598) INSERT INTO #T_PESSOA VALUES (1, 'ANTONIO CELSO') INSERT INTO #T_PESSOA VALUES (2, 'JOSE CELSO') INSERT INTO #T_PESSOA VALUES (3, 'TONIO CELSO') select PF.Cpf from #T_PESSOA_FISICA PF right join #T_PESSOA PES ON PES.id = PF.id
  10. Bom dia Lorena, Estava fazendo uns testes aqui. Dá uma olhada se assim resolve: select PF.Cpf from T_PESSOA_FISICA PF right join T_PESSOA PES ON PES.pkPessoa = PF.fkPessoa Desta forma, o resultado retornará NULL no lugar de espaço em branco. OBS.: Se o campo for interito, não terá como colocar espaço em branco. Aí terá que tratar o NULL. Se for caracter, aí sim terá jeito de retirar o NULL e colocar espaço em branco. A sua sintaxe de case está incorreta.
  11. Boa tarde Lorena, você pode utilizar o CASE ao invés do OR. Desta forma, você coloca as variáveis do campo PES.nome. Caso não encontre, você retorna "" (abre e fecha aspas).
  12. Mas possui alguma OS que se encontra com todos os Status="Fechado"?
  13. Bom dia tecmart, A minha resposta do dia 04/04/2012 - 17:33, contempla a sua dúvida.... :)
  14. Bom dia Wellington, Qual o erro q está dando? Pode estar relacionado ao nível de acesso, ao criar os steps do Job.
  15. De nada Alberto... precisando estamos ai. :)
  16. Bom dia Alberto, O manual está um pouco complicado mesmo... Estava entendendo tudo, até o momento em que o exemplo é dado: - Soma dos valores, pega o resto da divisão e subtrair de 11. Logo abaixo, a explicação do manual: Somar os resultados obtidos, multiplicar o total da soma por 10 (dez) e dividi-lo por 11 (onze). - No exemplo não foi feito desta forma. Não houve a multiplicação do valor encontrado. Outra explicação: Se o resto for igual a 0 (zero), 1 (um) ou 10 (dez) o digito será = 1 (um). - Isto significa que em nenhum momento haverá dv=0, pois quando houver, será necessário substituí-lo por 1. Parece que as 2 formas de implementação, retornam o mesmo resultado (se for isto, deveriam explicar no manual). Segue script abaixo: SELECT 11-(122 %11) SELECT ((122 *10)%11) Tem como você passar pela crítica algum outro número que tenha o resultado do dv=10? Pode ser isso. Os restos igual a 10 ter o dv igual a 0... Dê uma olhada neste link. O cpf e o titulo eleitor tem esta implementação (O resto=10, o dv=0) http://ghiorzi.org/cgcancpf.htm (para faciliar, procure na página por "O resto 10 será").
  17. Boa tarde Alberto, Como estão as coisas, tudo bem? Realmente os cálculos estão corretos... mas o que me chamou a atenção foram os pesos de 2 a 9: - Se utilizar desta forma, o resultado será 122 mesmo. - Mas se utilizar sem os pesos, a soma dará 154. Aí o DV será 0 (zero). O ultimo peso será 13. Mas ai... qual está correto? :.)
  18. rs... essa aí é mais complexa... mas vamos lá: -- criação de temporária CREATE table #tabela (OS int, Complementar INT, Status_Complemetar VARCHAR(10)) -- inserção dos dados INSERT INTO #tabela VALUES (101 , 201 , 'Fechada') INSERT INTO #tabela VALUES (101 , 202 , 'Aberta') INSERT INTO #tabela VALUES (101 , 203 , 'Aberta') INSERT INTO #tabela VALUES (102 , 204 , 'Fechada') INSERT INTO #tabela VALUES (102 , 205 , 'Fechada') INSERT INTO #tabela VALUES (102 , 206 , 'Fechada') INSERT INTO #tabela VALUES (102 , 207 , 'Fechada') INSERT INTO #tabela VALUES (102 , 208 , 'Fechada') INSERT INTO #tabela VALUES (103 , 209 , 'Fechada') INSERT INTO #tabela VALUES (103 , 210 , 'Aberta') INSERT INTO #tabela VALUES (103 , 211 , 'Aberta') INSERT INTO #tabela VALUES (103 , 212 , 'Em atendimento') -- verificação SELECT * FROM #tabela -- select com resultado desejado SELECT OS FROM #tabela GROUP BY OS HAVING sum(CASE Status_Complemetar WHEN 'Fechada' THEN 1 ELSE 0 END)=COUNT(os)
  19. beleza Jair.... rs. Precisando estamos ai!! :)
  20. Boa tarde Jair, Dá uma olhada agora: -- criando a tabela temporária create table #Tabela (Id int identity, NOME_VENDEDOR VARCHAR(10), NOME_CLIENTE VARCHAR(10), DATA_NASC DATETIME) -- inserindo os dados INSERT INTO #tabela VALUES ('João' , 'André' , '1980-03-09') INSERT INTO #tabela VALUES ('João' , 'Carla' , '1985-09-12') INSERT INTO #tabela VALUES ('Maria' , 'Carla' , '1985-09-12') INSERT INTO #tabela VALUES ('Maria' , 'José' , '1960-11-20') -- resultado que deseja SELECT * FROM #Tabela WHERE id IN (select max(id) FROM #Tabela group by NOME_VENDEDOR)
  21. Bom dia Bruno, Na consulta 'select cod, nome from [PLAN1$]'), você deve colocar a tabela que será referencida (a que contém os dados de "cod" e "nome"). Faça os testes ai....
  22. Bom dia João Fábio, Para fazer isto, terá que pegar todas as ocorrências e verificar se elas estão todas com 100%. Terá que utilizar uma forma de comparação, para retornar o valor desejado. Fiz um exemplo logo abaixo e espero que ajude: -- criação de temporária CREATE table #tabela (Func varchar(10), Projeto varchar(20), STATUS INT) -- inserção dos dados INSERT INTO #tabela VALUES ('João','Projeto 1', 100) INSERT INTO #tabela VALUES ('João','Projeto 2', 50) INSERT INTO #tabela VALUES ('João','Projeto 3', 50) INSERT INTO #tabela VALUES ('João','Projeto 4', 100) INSERT INTO #tabela VALUES ('Maria','Projeto 5', 100) INSERT INTO #tabela VALUES ('Maria','Projeto 6', 100) INSERT INTO #tabela VALUES ('Maria','Projeto 7', 100) INSERT INTO #tabela VALUES ('Maria','Projeto 8', 100) INSERT INTO #tabela VALUES ('José','Projeto 9', 50) INSERT INTO #tabela VALUES ('José','Projeto 10', 50) INSERT INTO #tabela VALUES ('José','Projeto 11', 50) INSERT INTO #tabela VALUES ('José','Projeto 12', 50) -- verificação SELECT * FROM #tabela -- select com resultado desejado SELECT Func FROM #tabela GROUP BY Func HAVING SUM(STATUS)=count(STATUS)*100
  23. Bom dia Pedroso, Não conheço niguém que disponibilize informações assim... Mas caso já tenha uma base de dados pequena, poderá ir replicando os próprios dados até que chegue em um volume satisfatório. Antigamente fazíamos isto para testarmos expansões / replicações de sistemas.
  24. De nada... precisando estamos ai!! :)
×
×
  • Criar Novo...