N style="mso-spacerun: yes">capasql27.jpg

Clique aqui para ler todos os artigos desta edição

SQL – Trabalhando com pares de linhas

 

Mauro Pichiliani

 

Em algumas situações, os desenvolvedores precisam realizar operações matemáticas em pares de linhas contidas em uma tabela, como no caso onde uma linha de uma tabela indica o início de um evento e outra linha indica o término. Estas linhas devem possuir alguma relação entre si e a instrução SQL que faz o processamento deve levar em consideração esta relação no momento de aplicar a operação às linhas. Neste artigo veremos, através de dois exemplos comuns do dia a dia, como aplicar uma operação utilizando os valores das colunas de um par de linhas da mesma tabela que possuem alguma relação.

Para isto utilizaremos self joins, isto é, joins que fazem a ligação de uma tabela com ela mesma, e subqueries, para mostrar como resolver situações onde operações devem ser feitas em pares de linhas de uma mesma tabela. Veremos também dois exemplos, um simples e outro mais complicado.

Utilizar self joins e subqueries em instruções SQL pode torná-las mais complexas, porém, uma vez que a idéia de como relacionar as linhas tenha sido bem definida, basta saber manusear as opções e cláusulas da instrução SELECT para criar a instrução que faz a operação desejada. O leitor que não estiver familiarizado com o uso de joins e subqueries pode consultar os artigos apontados pelos links no final do artigo.

Montaremos instruções SELECT para a geração dos resultados desejados utilizando o dialeto Transact-SQL do SQL Server e, com alguns pequenos ajustes, as instruções apresentadas podem ser facilmente adaptadas para serem executadas em outros bancos de dados.

 

Variação da cotação

 

No primeiro exemplo vamos trabalhar com uma tabela que armazena a variação da cotação do dólar em relação ao real durante alguns dias. Neste cenário uma tabela chamada TB_COTACAO armazenará o valor do dólar em uma coluna chamada VAL_DOLAR e a data da cotação na coluna DATA. A Tabela 1 mostra algumas linhas da tabela TB_COTACAO. As datas foram apresentadas no formato brasileiro (DD/MM/AAAA) para melhor visualização.

 

Tabela 1. Cotação do dólar em relação ao real.

 

Deseja-se obter qual é a variação da cotação do dólar durante os dias que estiverem armazenados na tabela, tanto em valores absolutos como em percentual. Como a variação da cotação é diária, basta subtrair o valor da cotação do dia atual do valor da cotação do dia seguinte para obtermos a variação da moeda entre os dias. ...

Quer ler esse conteúdo completo? Tenha acesso completo