Olá, tudo bem?
Segue um trecho de SQL muito interessante, que traz a estrutura de produtos, informando no final do WHERE somente o código do produto pai.
Esta query é útil para iniciar a construção de qualquer relatório que se baseie em estrutura de produtos. Aí é sua imaginação (e necessidade) que mandam.
Segue o código (Para SQL SERVER):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
WITH ESTRUT( CODIGO, COD_PAI, COD_COMP, QTD, PERDA, DT_INI, DT_FIM, NIVEL ) AS ( SELECT G1_COD PAI, G1_COD, G1_COMP, G1_QUANT, G1_PERDA, G1_INI, G1_FIM, 1 AS NIVEL FROM SG1010 SG1 (NOLOCK) WHERE SG1.D_E_L_E_T_ = '' AND G1_FILIAL = '01' UNION ALL SELECT CODIGO, G1_COD, G1_COMP, QTD * G1_QUANT, G1_PERDA, G1_INI, G1_FIM, NIVEL + 1 FROM SG1010 SG1 (NOLOCK) INNER JOIN ESTRUT EST ON G1_COD = COD_COMP WHERE SG1.D_E_L_E_T_ = '' AND SG1.G1_FILIAL = '01' ) SELECT * FROM ESTRUT E1 WHERE E1.CODIGO = 'SEUCODIGO' AND E1.DT_FIM >= '20170119' |
Você pode também pegar o trecho com WITH () e transformar em uma VIEW
Dicas simples e rápida.
Fernando Bueno
Consultor em FBSOLUTIONS
Sou consultor na área de implantação de sistemas ERP, com experiência na análise e implantação de projetos de sistemas, configurando a estrutura do software, capacitando usuários-chaves, ministrando treinamentos e workshops.
Atuando desde 2005 no mercado de tecnologia, desenvolvendo e implantando e sistemas gerenciais, sistemas e sites web e ecommerce.
Siga-me no Linked In
Atuando desde 2005 no mercado de tecnologia, desenvolvendo e implantando e sistemas gerenciais, sistemas e sites web e ecommerce.
Siga-me no Linked In