Jose Aguiar Posted February 6, 2020 at 11:36 AM Report Share #617286 Posted February 6, 2020 at 11:36 AM (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 at 12:59 PM by M6 Formatação de código. Link to comment Share on other sites More sharing options...
antseq Posted February 6, 2020 at 02:15 PM Report Share #617288 Posted February 6, 2020 at 02:15 PM 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 comment Share on other sites More sharing options...
M6 Posted February 6, 2020 at 04:08 PM Report Share #617290 Posted February 6, 2020 at 04:08 PM 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 comment Share on other sites More sharing options...
Jose Aguiar Posted February 6, 2020 at 04:42 PM Author Report Share #617291 Posted February 6, 2020 at 04:42 PM (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 at 04:48 PM by M6 Formatação de código. Link to comment Share on other sites More sharing options...
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