
fulvio
Moderadores-
Total de itens
1.218 -
Registro em
-
Última visita
Tudo que fulvio postou
-
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)
-
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.
-
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.
-
Precisando estamos aí...
-
Boa tarde Roger, A procedure não seria PL/Sql não? :.)
-
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.
-
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?
-
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
-
Bom dia Webert, você pode colocar a chave primária como Identity. Aí basta inserir os dados sem precisar passar o valor da Chave.
-
Moverei seu post para Fórum Script Brasil > Banco de Dados > Demais Bancos
-
Movido post para Fórum Script Brasil > Programação & Desenvolvimento > ASP
-
Bom dia Webert, você roda a consulta no excel ou Access?
-
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.
-
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. :.)
-
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
-
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
-
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
-
Replicação Merge e Constraints de limitação para Assinante
pergunta respondeu ao Pandashop de fulvio em SQL Server
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 -
Sim. Ao invés de EXISTS, colocar NOT EXISTS. :.)
-
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
-
Replicação Merge e Constraints de limitação para Assinante
pergunta respondeu ao Pandashop de fulvio em SQL Server
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... -
Replicação Merge e Constraints de limitação para Assinante
pergunta respondeu ao Pandashop de fulvio em SQL Server
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... :.) -
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?
-
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
-
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!!!