BlackTDN :: Como Criar Relatórios de Cotações com Dados Agrupados Usando SQL
img: DALL·E 2024-08-09 07.00.00 - A high-quality image showcasing a detailed SQL query being written in a code editor, such as VS Code, on a dark theme background. ... ## Como Criar Relatórios de Cotações com Dados Agrupados Usando SQL Quando trabalhamos com sistemas ERP e precisamos gerar relatórios de cotações que apresentam dados de múltiplos fornecedores, é comum encontrarmos a necessidade de pivotar registros que, originalmente, são apresentados de forma vertical. Isso é especialmente útil quando o objetivo é comparar preços ou condições de diferentes fornecedores para um mesmo produto em uma única linha do relatório. Neste artigo, vamos explorar uma abordagem para transformar registros verticais em colunas, facilitando a impressão de relatórios que consolidam informações de vários fornecedores em uma única linha. Vamos utilizar SQL com técnicas de pivotagem, e ao final, mostraremos como estender essa técnica para um número variável de fornecedores. ### Estrutura do Relatór
Eai Naldo blz,
ResponderExcluir(Isso não é uma critica, sem te conhecer tenho um respeito e admiração por você. Por correr atrás e disponibilizar tempo para atender a todos.) Porém...
...tenho visto você atendendo a pedidos das pessoas.
Seu blog pode acabar virando um site cheio de dicas mas como um forum, e isso nao seria bacana.
Faça o seguinte, quando alguém lhe perguntar,
?como faço?, ?deu erro?, ?me ensina?
Pegue o problema dele e explique a raiz, faça-o entender explique como as coisas acontecem e assim consequentemente ele ira aprender.
Sei de sua vontade de ajudar,
e admiro. Espero um dia poder contribuir para
o conhecimento de outros também.
Abs,
mais um Anônimo!
Os exemplos são a base para o conhecimento. A partir deles, os interessados em aprender, irão se aprofundar e, na dúvida, buscarão novos exemplos tornando o aprendizado uma constante.
ResponderExcluirMeus exemplos são quase que completos (complexos às vezes), mas têm um fim. Fazer pensar, incitar ao aprendizado e divulgar o conhecimento além de elucidar o desconhecido e perpetuar o saber.
"Tô Certo!"
[]s
иαldσ dj
Opa, eai pessoal.
ResponderExcluir(иαldσ dj, peço licença para completar seu post)
Uma dica para update do post!
Muitas pessoas (inclusive eu já fiz muito) fazem
um laço ::FOR:: percorrendo posições do array da
seguinte forma.
Ex:
For n := 1 To Len(aArrayExemplo)
/*
...Instruções
*/
Next n
Mas como foi mostrado no exemplo acima para o
laço ::WHILE::, a comparação que define a condição de parada
do laço, irá ocorrer para cada volta ou 'loop',
pois a condição será testada, neste exemplo a função ::Len(aArray)::
E nessa comparação a função ::LEN:: será executada
proporcionalmente ao tamanho do array usado.
Portanto, a forma que produz melhor performance é;
//Declare uma variável para controle dos laços e atribua a ela o valor retornado da função ::LEN::
nArraySize := Len(aArrayExemplo)
//Em seguida o ::FOR::
For n := 1 To nArraySize
/*
...Instruções
*/
Next n
Assim como foi explanado pelo иαldσ dj, as mesmas otimizações para um laço, são equivalentes para o ::WHILE:: e para o ::FOR::.
[]'s
Sérgio