Ir para conteúdo
Fórum Script Brasil

fulvio

Moderadores
  • Total de itens

    1.218
  • Registro em

  • Última visita

Tudo que fulvio postou

  1. Boa tarde Webert, Segue um exemplo de como capturar as datas. OBS.: Verificar a formatação da data na sua base. A minha é AAAA-MM-DD. -- Recupera o dia de ontem SELECT DATEADD (d, -1, GETDATE()) -- Recupera o dia 1º dia do mês corrente SELECT convert (datetime, cast(year(GETDATE()) AS VARCHAR) + '-' + cast(month(GETDATE()) AS VARCHAR) + '-' + '01', 120)
  2. fulvio

    Agrupar e somar

    Boa tarde Tony, Poderá utilizar o SUM agrupado por material. Neste caso o sql irá somar os materiais iguais e te dar o resultado. Não entendi no seu exemplo, como o material (cód.02 ) é uma "chapa 1kg" e ele está especificado com o mesmo código sendo "chapa 3kg"... Na segunda consulta, poderá dar um disticnt no material. OBS.: se a tabela kestrutura for recursiva, tomar cuidado com o função SUM quando referenciar a mesma tabela duas vezes no select. Terá provavelmente somas erradas.
  3. Boa tarde Kelvym, O select deve retornar os campos que necessita. Sendo assim o "SELECT campo1, campo2" é o correto. Se utilizar o "select *" o sql retornará mais dados que necessita. Isto fará com que o tamanho do recordset também aumente desnecessariamente (maior tráfego na rede também). É perdido um pouco de performance, mas esta perda é mínima. Ela ficará mais evidente quando começar a manipular muitas informações. Atente também pela quantidade de processos simultâneos.
  4. Boa tarde Roger, A procedure não seria PL/Sql não? :.)
  5. Ainda não entendi o que deseja.... :.( O valor da soma não deve estar vindo do jeito que deseja porque você está referenciando a tabela TMOV duas vezes. Caso seja dificil de explicar, coloque alguns dados de exemplo e como quer que saia o resultado utilizando o SUM.
  6. Bom dia Matheus, Uma dúvida: se o código do campo "coccusto" repetir 3 vezes, será necessário criar uma outra coluna valorbruto3? Os as informações só repetirão 2 vezes?
  7. Boa tarde Felipe, Postei um exemplo logo abaixo. Espero que ajude. :.) CREATE TABLE #teste (Campo1 VARCHAR(10)) INSERT INTO #teste VALUES ('9233088361') INSERT INTO #teste VALUES ('9236569521') INSERT INTO #teste VALUES ('9236581338') INSERT INTO #teste VALUES ('9291402521') INSERT INTO #teste VALUES ('9291417216') SELECT Campo1, RIGHT(campo1, 1) UltimoNumero, RIGHT(campo1, 8) OitoCampos FROM #teste
  8. fulvio

    Insert

    Bom dia Webert, você pode colocar a chave primária como Identity. Aí basta inserir os dados sem precisar passar o valor da Chave.
  9. Moverei seu post para Fórum Script Brasil > Banco de Dados > Demais Bancos
  10. fulvio

    Conexão ASP com SQL

    Movido post para Fórum Script Brasil > Programação & Desenvolvimento > ASP
  11. Bom dia Webert, você roda a consulta no excel ou Access?
  12. kkkk, se for um beijo aí não falo de jeito nenhum de onde sou!!! Mas um abraço vou aceitar... rs. Precisando estamos aí. :.) Um abraço.
  13. fulvio

    Banco de dados

    Boa tarde Octavio, Vamos com calma. Se estressar fica mais dificil de entender. Em um PC a instalação do drive odbc funcionou legal? No 2º é que está dando a mensagem de erro? Nestes dois PC´s como se dá o acesso ao Banco? É um aplicativo que roda, ou o management? Se preferir, vai lá no meu perfil e me add no MSN. Grande parte do horário comercial estou on. :.)
  14. fulvio

    aniversario

    Bom dia Paulão, Cada um tem uma forma de implementação... rs. No exemplo abaixo, ao invés de testar os meses e dias, alterei todos os anos da data de nascimento para o ano da pesquisa que o usuário insere. Dê uma olhada na implementação e vê se atende: -- criar tabela temporária CREATE TABLE #teste (Nome VARCHAR(50), DATA DATETIME) -- carga INSERT INTO #teste VALUES ('joao', '1999-08-12') INSERT INTO #teste VALUES ('maria', '2004-05-23') INSERT INTO #teste VALUES ('jorge', '1980-10-20') INSERT INTO #teste VALUES ('joana', '1985-01-15') -- declarar variavel de data inicial e final -- rodar daqui até no final declare @DataInicial DATETIME declare @DataFinal DATETIME SET @DataInicial = '2010-02-10' SET @DataFinal = '2010-08-30' SELECT * FROM #teste t WHERE convert (datetime, cast(YEAR (@DataInicial) AS VARCHAR) + '-' + cast (MONTH(data) AS VARCHAR) + '-' + cast (day(data) AS VARCHAR), 102) BETWEEN @DataInicial AND @DataFinal or convert (datetime, cast(YEAR (@DataFinal) AS VARCHAR) + '-' + cast (MONTH(data) AS VARCHAR) + '-' + cast (day(data) AS VARCHAR), 102) BETWEEN @DataInicial AND @DataFinal
  15. Ahm...... Agora entendi. rs... Dá uma olhada no exemplo abaixo: CREATE table #teste (Nome VARCHAR(50), id INT) INSERT INTO #teste VALUES ('Marcos Paulo', 09) INSERT INTO #teste VALUES ('Maria Aparecida', 06) INSERT INTO #teste VALUES ('Mariana Souza', 22) INSERT INTO #teste VALUES ('Maria Aparecida', 08) INSERT INTO #teste VALUES ('Mario Andrade', 16) INSERT INTO #teste VALUES ('Maria Aparecida', 19) INSERT INTO #teste VALUES ('Marcos Paulo', 35) SELECT * FROM #teste WHERE nome LIKE 'Mar%' AND id IN (SELECT max(id) FROM #teste GROUP BY Nome) ORDER BY Nome
  16. fulvio

    Query complicada...

    Boa tarde Shakazahn, Não sei se este script vai funcionar, pois não consegui testar... mas tentei fazer da seguinte forma: inclui mais um WHEN no CASE, testando se a soma dos dias da "DataLancado" e "DiasDoPeriodo" é superior ao número do ultimo dia do mês. Se for menor, quer dizer que o lançamento ainda estará no mês corrente. Não sei se é isto que deseja, mas faça os testes aí... :.) DECLARE @MesAtual INT SET @MesAtual= 2 --Fevereiro SELECT q.Quadrinho, qp.Periodicidade, qp.DiasDoPeriodo, DATEADD("d", qp.DiasDoPeriodo, MAX(l.DataLancado)) AS ProximoLancamentoData, --Esta coluna é só pra saber a prox. data CASE WHEN MONTH(DATEADD("d", qp.DiasDoPeriodo, MAX(l.DataLancado))) = @MesAtual THEN DATEADD("d", qp.DiasDoPeriodo, MAX(l.DataLancado)) WHEN CAST(DAY(MAX(l.DataLancado)) AS INT) + qp.DiasDoPeriodo <= (DAY(dateadd(m,1,dateadd(d,-day(getdate()),getdate())))) THEN -- Aqui você coloca o que quiser END AS LancamentoMensal --Esta coluna só vai aparecer se o prox. lancamento for no mês Atual FROM tabelaQuadrinhos q INNER JOIN tabelaPeriodicidade qp ON q.PeriodicidadeID = qp.PeriodicidadeID LEFT JOIN tabelaLancamentos l ON q.QuadrinhoID = l.QuadrinhoID GROUP BY q.Quadrinho, qp.Periodicidade, qp.DiasDoPeriodo
  17. Há como você desativar os campos de autonumeração sim. Poderá acrescentar isto nos seus testes... :.) --desabilita identity set IDENTITY_INSERT [Nome da tabela] on --habilitando identity set IDENTITY_INSERT [Nome da tabela] off
  18. Sim. Ao invés de EXISTS, colocar NOT EXISTS. :.)
  19. Bom dia Marcelo, você quer pegar a Maria de id 19 e depois pegar os demais nomes ordenados por id em um mesmo select? Se for isso não dá. Não tem como fazer ordenações distintas no mesmo select. O mais interessante seria pegar o maior id da Maria e depois pegar o resto dos nomes. Ficaria mais ou menos assim: select TOP 1 * from #teste where nome='Maria Aparecida' order by ID desc SELECT * FROM #teste WHERE id NOT IN (select TOP 1 id from #teste where nome='Maria Aparecida' order by ID desc) ORDER BY id DESC
  20. Bom dia Panda, É.... apesar de estar confuso, entendi o problema q está ocorrendo. Nunca vi ranges difererentes em execuções de testes iguais. Vou dar uma olhada e fazer alguns testes para entender o que pode estar ocorrendo...
  21. Bom dia Panda, Desculpa, mas não prestei atenção que era o 2005. Para exemplos em 2005, você irá encontrar vários em inglês... Dá uma olhada neste link. Na parte "Nota 1" há uma explicação bem interessante que poderá te ajudar. A atenção está bem voltada ao Indentity. você pode especificar para cada Assinante o intervalo do identity que irá manipular. http://www.devmedia.com.br/post-339-Coluna...como-criar.html Espero que ajude... :.)
  22. Bom dia Marcelo, Para listar apenas uma Maria, com o Id mais atual: select top 1 Nome from TABELA order by ID desc Para pegar os outros nomes, retire o top 1. No fonte pode-se tratar o resultado como quiser... Seria isto que deseja?
  23. Boa tarde Webert, O exists é apenas mais um filtro. Além dos filtros já existentes, só será listado dados em que esteja no retorno do subselect. http://msdn.microsoft.com/pt-br/library/ms188336.aspx
  24. Boa tarde André, Fico feliz por ter funcionado... :.) Estas configurações são do Surface (que foi o 3º tópico que listei). Precisando, estamos ai!!!
×
×
  • Criar Novo...