Lavinia Posted February 10, 2025 Topic Count: 1 Topics Per Day: 0.00 Content Count: 4 Content Per Day: 0.01 Reputation: 2 Achievement Points: 33 Solved Content: 0 Days Won: 0 Status: Offline Device: Windows Report Posted February 10, 2025 Boa tarde, gostaria de criar uma consulta SQL para um relatório de Solicitação de Compras. A consulta é a seguinte: SELECT TPRD.CODIGOPRD, TPRD.NOMEFANTASIA,TPRD.CODUNDCOMPRA, TITMMOV.QUANTIDADEORIGINAL, TITMMOV.PRECOUNITARIO, TITMMOV.QUANTIDADEORIGINAL * TITMMOV.PRECOUNITARIO AS PRECOTOTAL , TMOV.DATAEMISSAO, TMOV.NUMEROMOV , TMOV.DATAENTREGA, TMOV.FRETECIFOUFOB, ISNULL(TMOV.VALORFRETE,0) + ISNULL(TMOV.VALORFRETECTRC,0) + ISNULL(TMOV.VALOROUTROSORIG,0) AS VALORTOTFRETE, TCPG.NOME AS CONDPAGTO, TTRA.NOME AS TRANSPORTADORA, FCFO.NOMEFANTASIA NOMEFORNECEDOR, FCFO.CODCFO, FCFO.CONTATO, ISNULL(FCFO.RUA,'') + ' - ' + ISNULL(CAST(FCFO.NUMERO AS varchar(10)), '') + '-' + ISNULL(GMUNICIPIO.NOMEMUNICIPIO,'') + ' - '+ ISNULL(FCFO.CODETD, '') AS ENDERECO, FCFO.TELEFONE, FCFO.CGCCFO AS CNPJ FROM TMOV INNER JOIN TITMMOV ON TMOV.CODCOLIGADA = TITMMOV.CODCOLIGADA AND TMOV.IDMOV = TITMMOV.IDMOV INNER JOIN TPRD ON TITMMOV.IDPRD = TPRD.IDPRD AND TITMMOV.CODCOLIGADA = TPRD.CODCOLIGADA INNER JOIN FCFO ON TMOV.CODCOLCFO = FCFO.CODCOLIGADA AND TMOV.CODCFO = FCFO.CODCFO LEFT JOIN TTRA ON TMOV.CODCOLIGADA = TTRA.CODCOLIGADA AND TMOV.CODTRA = TTRA.CODTRA LEFT JOIN TCPG ON TMOV.CODCOLIGADA = TCPG.CODCOLIGADA AND TMOV.CODCPG = TCPG.CODCPG LEFT JOIN GMUNICIPIO ON FCFO.CODETD = GMUNICIPIO.CODETDMUNICIPIO AND FCFO.CODMUNICIPIO = GMUNICIPIO.CODMUNICIPIO WHERE TMOV.IDMOV = 3391 Porém não consigo puxar os dados da solicitação. Alguém poderia me ajudar? 1
luisgustavogomes Posted February 10, 2025 Topic Count: 5 Topics Per Day: 0.00 Content Count: 534 Content Per Day: 0.18 Reputation: 184 Achievement Points: 3,562 Solved Content: 0 Days Won: 77 Status: Offline Age: 37 Device: Windows Report Posted February 10, 2025 @Lavinia, boa tarde, tudo bem? Poderias exemplificar no excel com um exemplo de como você precisa desse relatório! Pois, certamente existem milhões de formas diferentes de montar essa query, mas precisamos saber para lhe ajudar! Normalmente, esse tipo de relatório é para buscar o relacionamento entre movimentos de ordens de compra vs solicitações de compras e/ou notas fiscais para ordens e ordens para solicitações, criando o consulta de hierarquia de movimentos e itens de movimentos... bom, falando em movimentos podemos deixar a dica, caso for esse tipo de relatório que você precisa montar a questão do item é crucial para saber se vai pela TMOVRELAC e/ou a TITMMOVRELAC. Ficamos no aguardo. Abraços. 2
Lavinia Posted February 11, 2025 Topic Count: 1 Topics Per Day: 0.00 Content Count: 4 Content Per Day: 0.01 Reputation: 2 Achievement Points: 33 Solved Content: 0 Days Won: 0 Status: Offline Device: Windows Author Report Posted February 11, 2025 1
Solution luisgustavogomes Posted February 12, 2025 Topic Count: 5 Topics Per Day: 0.00 Content Count: 534 Content Per Day: 0.18 Reputation: 184 Achievement Points: 3,562 Solved Content: 0 Days Won: 77 Status: Offline Age: 37 Device: Windows Solution Report Posted February 12, 2025 @Lavinia, Bom dia! Desculpa a demora.... Segue um exemplo em SQLServer! SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SET NOCOUNT ON; SELECT T.CODCOLIGADA,T.IDMOV, T.CODTMV, T.NUMERO, T.CODFILIAL, R.* FROM DBO.TMOV T OUTER APPLY ( SELECT CONCAT('SC: ', STRING_AGG(TT.NUMEROMOV, ' ;')) AS 'NRO' FROM DBO.TMOVRELAC RR JOIN DBO.TMOV TT ON ( RR.CODCOLORIGEM = TT.CODCOLIGADA AND RR.IDMOVORIGEM = TT.IDMOV) WHERE RR.CODCOLDESTINO = T.CODCOLIGADA AND RR.IDMOVDESTINO = T.IDMOV ) R WHERE T.CODCOLIGADA = 1 AND T.CODTMV = '1.1.02' AND T.DATACRIACAO >= '2025-02-11' OPTION (MAXDOP 1) Como podes observar, existem relacionamento N para N nos movimentos. Espero ajudar. Abraços. 1
Lavinia Posted February 12, 2025 Topic Count: 1 Topics Per Day: 0.00 Content Count: 4 Content Per Day: 0.01 Reputation: 2 Achievement Points: 33 Solved Content: 0 Days Won: 0 Status: Offline Device: Windows Author Report Posted February 12, 2025 @luisgustavogomes obrigada pela a ajuda!
Jair - Fórmula Posted February 12, 2025 Topic Count: 946 Topics Per Day: 0.13 Content Count: 9,184 Content Per Day: 1.26 Reputation: 459 Achievement Points: 109,775 Solved Content: 0 Days Won: 266 Status: Offline Age: 53 Device: Windows Report Posted February 12, 2025 12 horas atrás, luisgustavogomes disse: @Lavinia, Bom dia! Desculpa a demora.... Segue um exemplo em SQLServer! SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SET NOCOUNT ON; SELECT T.CODCOLIGADA,T.IDMOV, T.CODTMV, T.NUMERO, T.CODFILIAL, R.* FROM DBO.TMOV T OUTER APPLY ( SELECT CONCAT('SC: ', STRING_AGG(TT.NUMEROMOV, ' ;')) AS 'NRO' FROM DBO.TMOVRELAC RR JOIN DBO.TMOV TT ON ( RR.CODCOLORIGEM = TT.CODCOLIGADA AND RR.IDMOVORIGEM = TT.IDMOV) WHERE RR.CODCOLDESTINO = T.CODCOLIGADA AND RR.IDMOVDESTINO = T.IDMOV ) R WHERE T.CODCOLIGADA = 1 AND T.CODTMV = '1.1.02' AND T.DATACRIACAO >= '2025-02-11' OPTION (MAXDOP 1) Como podes observar, existem relacionamento N para N nos movimentos. Espero ajudar. Abraços. Pode até demorar, mas a paulada na resposta vem, e vem forte!!! Grande @luisgustavogomes... ótimo nos seus comentários e colaboração de forma geral aqui com a galera. 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now