Jose Aguiar 0 Posted February 6, 2020 Report Share Posted February 6, 2020 (edited) Bom dia a todos Tenho a query abaixo, pra quem conhece o sistema RM, vai saber do que estou falando, mas para quem só entende de linguagem SQL também entenderá.(Srs antes que de mais nda quero pedir desculpas se minha grafia de algumas palavras é incomum, pois sou brasileiro e bem sei que esse fórum é protugues, mas o que vale é o intercambio) DECLARE @CODCOTACAO NVARCHAR(40) DECLARE @CODCOLIGADA INT SET @CODCOTACAO ='2020.000170' -- (numero de cotação) SET @CODCOLIGADA = '2' SELECT Y.IDPRD,MIN(Y.VALCOTACAO * Y.QUANTIDADEORC) as VALOR FROM TCITMORCAMENTO (NOLOCK) Y WHERE Y.CODCOLIGADA = @CODCOLIGADA AND Y.CODCOTACAO = @CODCOTACAO AND Y.VALCOTACAO > 0 GROUP BY Y.IDPRD Essa query poderá, em grande maioria de vezes, me trazer um grande número de linhas, pois estou trazendo de uma cotação os valores mais baixo por produto. Até ai tudo bem, mas me surge um problema, pois devo agora somar o conteúdo, campo VALOR, de todos os itens. Sei que a melhor maneira seria criar uma tabela temporária, mas dentro ERP RM, o mesmo não permite utilizar querys que criam tabelas temporárias e por isso que estou aqui. Gostaria de vocês alguma sugestão para esse dilema. Desde já agradeço a ajuda. Edited February 6, 2020 by M6 Formatação de código. Link to post Share on other sites
antseq 91 Posted February 6, 2020 Report Share Posted February 6, 2020 Viva, Não permite por exemplo: Por ITEM: SELECT Y.IDPRD,SUM(MIN(Y.VALCOTACAO * Y.QUANTIDADEORC)) as IVALOR ... GROUP BY Y.IDPRD TODOS: SELECT SUM(MIN(Y.VALCOTACAO * Y.QUANTIDADEORC)) as TVALOR ... cps, A.S. Link to post Share on other sites
M6 153 Posted February 6, 2020 Report Share Posted February 6, 2020 Não percebi a questão do RM (que desconheço) quanto às tabelas temporárias. O RM não sabe, nem tem de saber, se o SP do SQL Server usa, ou não, tabelas temporárias (a menos que o utilizador tenha algum tipo de parametrização especifica que desconheço). Se fizeres isso com uma tabela temporária qual é a questão? 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to post Share on other sites
Jose Aguiar 0 Posted February 6, 2020 Author Report Share Posted February 6, 2020 (edited) Já achei uma resposta em outro site e aqui deixo a resposta meus amigos. DECLARE @CODCOTACAO NVARCHAR(40) DECLARE @CODCOLIGADA INT SET @CODCOTACAO ='2020.000170' --TEM 24 LINHAS SET @CODCOLIGADA = '2' SELECT SUM(VALOR) AS TOTAL FROM ( SELECT Y.IDPRD,MIN(Y.VALCOTACAO * Y.QUANTIDADEORC) AS VALOR FROM TCITMORCAMENTO (NOLOCK) Y WHERE Y.CODCOLIGADA = @CODCOLIGADA AND Y.CODCOTACAO = @CODCOTACAO AND Y.VALCOTACAO > 0 GROUP BY Y.IDPRD ) VIRTUAL Grato a todos Edited February 6, 2020 by M6 Formatação de código. Link to post Share on other sites
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