Postagens

Mostrando postagens de outubro, 2021

Window Function: SUM()

Imagem
  Olá friends, espero que estejam todos bem, a hora de nos encontrarmos nos eventos da comunidade esta chegando, que alegria dia 10 e 11 de dezembro podemos nos encontrar no treinamento da lenda do tuning, Fabiano Amorim. Bora nessa? Bem, hoje gostaria de trazer a função SUM de forma diferente, que talvez algumas pessoas ainda não conheçam, podemos utilizar a função SUM como uma window Functions e acreditem isso é muito útil. Vamos ao cenário: Temos um banco de dados fictício de contas bancarias, essas contas recebem transações, saques, depósitos e transferências, imagine que gostaríamos de puxar a tela de extrato e verificar como estava o saldo do dia em determinada data? Um excelente cenário para utilizar a window functions SUM(). Temos essa tabela e precisamos fazer uma conta acumulativa, ou seja, temos que pegar linha a linha e somar com a soma acumulada das linhas anteriores, parece complexo, mas não é, vou primeiro mostrar como quero que a conta seja feita. Abaixo explico a soma

É possível utilizar AG com versões diferentes de SQL? (Passo a passo de como montar um AG básico)

Imagem
 Olá pessoal, hoje estou trazendo um blog de cara nova e um novo tipo de postagem, geralmente eu faço postagens sobre T-SQL que é uma linguagem que eu amo, mas hoje gostaria de trazer algum diferente. Hoje irei falar sobre SQL  AlwaysOn AG(availability group), eu não irei entrar muito afundo nesse assunto, pois ele renderia uma série de posts, nesse post estarei demonstrando como criar um AG básico para fins de estudo, mas nada impede de você usar esses passos para começar a pensar em uma solução de HA/DR para sua empresa. Antes de responder a pergunta desse post, vamos criar o ambiente: Primeiro é necessário ter um ambiente em cluster(WSFCI), o que não daria tempo de demonstrar nesse post, então irei deixar uma dica de livro, onde existe um passo a passo para criar um ambiente de alta disponibilidade com AlwaysON FCI. Melhor livro de FCI em pt-br "SQL SERVER 2014 -ALTA DISPONIBILIDADE NA PRÁTICA COM ALWAYSON FAILOVER CLUSTER INSTANCES", deixarei um link no final do artigo de

Realizando um UNPIVOT separando colunas com ";" com cross apply ou string_Agg.

Imagem
Hello my friends!! Como estão? Espero sempre que estejam muito bem.  Hoje gostaria de dar uma dica para vocês que pode ajudar bastante. Esses dias estava trabalhando quando o head da área me manda um dúvida que surgiu em dos grupos que ele estar de SQL, a primeira pergunta que fiz, foi "Nossa, que grupo técnico de SQL é esse? Que não estou", my bad :( rs.  Bem a dúvida era como fazer um "UNPIVOT"  no SQL? Bem existe o comando Pivot /Unpivot, mas hoje gostaria de mostrar formas diferentes de fazer o UNPIVOT. O cliente tinha uma tabela com as seguintes informações: Ele queria agrupar  campo "nota" e colocar o campo "Produto" em uma linha separando esses produtos com ";" Assim: Para fazer isso de forma bem simples, podemos usar o string_agg, uma função excelente de concatenação e agregação do SQL, mas cuidado, pois só estar disponível a partir do SQL 2017 Segue código: ---Opção  1, sql 2017 +  select nota,STRING_AGG(produto,';') as