Neilson Postado 20 de Janeiro de 2010 Tópicos Que Criei: 52 Tópicos/Dia: 0.01 Meu Conteúdo: 129 Conteúdo/Dia: 0.02 Reputação: 1 Pontos/Conquistas: 1.156 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Denunciar Compartilhar Postado 20 de Janeiro de 2010 Sr.. Alguêm ai tem um cubo que retorne as ultimas compras de materiais tipo: Produtos nome dataultimacompra movimento Ultimopreço ultimaquantidade Tenho um aqui que me retorna produto por produto,nele tenho que colocar o código. Há essa sql lá : SELECT TOP 1 CONVERT(CHAR(12),TMOV.DATAEMISSAO, 111) AS EMISSAO, GCOLIGADA.NOME AS COLIGADA, TPRD.CODIGOPRD AS CODIGO, TPRD.NOMEFANTASIA AS'NOME DO MATERIAL', TTMV.NOME AS 'TIPO COMPRAS', FCFO.NOMEFANTASIA AS FORNECEDOR, TMOV.NUMEROMOV AS NUMEROMOV, TMOV.DATAEMISSAO AS 'DATAEMISSAO', TITMMOV.QUANTIDADE AS QUANTIDADE, TITMMOV.PRECOUNITARIO AS PRECO FROM TPRD (NOLOCK), TMOV (NOLOCK), TITMMOV (NOLOCK), FCFO (NOLOCK), TTMV (NOLOCK),GCOLIGADA (NOLOCK) WHERE (TMOV.CODCOLIGADA = GCOLIGADA.CODCOLIGADA) AND (TPRD.CODIGOPRD=:CODIGO_MATERIAL_S) AND (TMOV.IDMOV = TITMMOV.IDMOV) AND (TMOV.CODCFO = FCFO.CODCFO) AND (TMOV.CODCOLCFO = FCFO.CODCOLIGADA) AND (TMOV.CODTMV = TTMV.CODTMV) AND (TITMMOV.IDPRD = TPRD.IDPRD) AND (TTMV.CODCOLIGADA = GCOLIGADA.CODCOLIGADA) AND (TTMV.CODTMV LIKE '1.2%') AND (TPRD.CODIGOPRD IN ( '70.02.0084', '70.01.0049', '70.01.0005', '83.02.0007', '83.02.0008', '83.02.0009', '83.02.0010', '70.01.0053', '70.01.0043', '70.02.0006', '71.04.0002', '71.04.0001', '70.01.0048', '35.01.0001', '70.02.0092', '70.02.0091', '70.02.0040', '70.02.0041', '70.02.0038', '70.02.0039', '70.02.0035', '70.02.0025', '70.02.0026', '70.02.0093', '70.02.0016', '70.01.0016', '70.02.0018', '70.02.0031', '70.02.0032', '70.02.0019', '70.02.0020', '70.02.0021', '70.02.0022', '70.02.0023', '70.02.0024', '70.02.0078', '70.02.0096', '70.02.0097', '70.02.0081', '70.02.0083', '70.02.0082', '70.02.0050', '70.02.0094', '70.02.0009', '92.01.0022', '92.01.0023', '92.01.0002', '92.01.0001', '92.01.0005', '92.01.0004', '92.01.0034', '92.01.0024', '92.01.0025', '92.01.0026', '92.01.0027', '92.01.0028', '92.01.0003', '70.01.0013', '83.02.0011', '83.02.0005', '83.02.0006', '70.01.0043', '70.01.0010', '92.01.0015', '70.01.0052', '92.01.0030', '70.01.0001', '82.02.0001')) -------------> este e somente itens de materia prima. AND (TPRD.CODCOLIGADA = GCOLIGADA.CODCOLIGADA) AND ((FCFO.CODCOLIGADA = 0) OR (FCFO.CODCOLIGADA = GCOLIGADA.CODCOLIGADA)) GROUP BY TPRD.CODIGOPRD, GCOLIGADA.NOME,FCFO.NOMEFANTASIA, TMOV.NUMEROMOV, TMOV.DATAEMISSAO,TPRD.NOMEFANTASIA,TITMMOV.QUANTIDADE, TITMMOV.PRECOUNITARIO,TMOV.STATUS,TMOV.CODTMV,TTMV.NOME ORDER BY CONVERT(CHAR(12),TMOV.DATAEMISSAO, 111) DESC Agradeço se me ajudarem. Neilson Ximenes Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Deige Mendes Postado 21 de Janeiro de 2010 Tópicos Que Criei: 14 Tópicos/Dia: 0.00 Meu Conteúdo: 157 Conteúdo/Dia: 0.03 Reputação: 3 Pontos/Conquistas: 923 Conteúdo Resolvido: 0 Dias Ganho: 2 Status: Offline Idade: 37 Denunciar Compartilhar Postado 21 de Janeiro de 2010 meu caro tenho está consulta que utilizei para módulo RM Officina, para buscar o movimento mais atual de um determinado produto, talvez posso lhe dar um direcionamento. segue abaixo: SELECT TITMMOV.PRECOUNITARIO FROM TMOV INNER JOIN TITMMOV On TMOV.IDMOV = TITMMOV.IDMOV And TMOV.CODCOLIGADA = TITMMOV.CODCOLIGADA LEFT JOIN tprd On TPRD.IDPRD = TITMMOV.IDPRD And TPRD.CODCOLIGADA = TITMMOV.CODCOLIGADA WHERE TPRD.CODIGOREDUZIDO =:ESPELHO#8 And TMOV.CODCOLIGADA = '1' And TMOV.IDMOV = ( SELECT Max(TMOV.IDMOV) FROM TITMMOV INNER JOIN TMOV On TMOV.IDMOV = TITMMOV.IDMOV And TMOV.CODCOLIGADA = TITMMOV.CODCOLIGADA INNER JOIN tprd On TPRD.IDPRD = TITMMOV.IDPRD And TPRD.CODCOLIGADA = TITMMOV.CODCOLIGADA WHERE TPRD.CODIGOREDUZIDO =:ESPELHO#8 And (TMOV.CODTMV = '1.1.03' or TMOV.CODTMV = '2.2.17') ) Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 21 de Janeiro de 2010 Tópicos Que Criei: 885 Tópicos/Dia: 0.13 Meu Conteúdo: 8.802 Conteúdo/Dia: 1.34 Reputação: 291 Pontos/Conquistas: 106.268 Conteúdo Resolvido: 0 Dias Ganho: 185 Status: Offline Idade: 51 Dispositivo: Windows Denunciar Compartilhar Postado 21 de Janeiro de 2010 Neilson, so um detalhe, ao inves de informar cada produto que deseja na sentença, não seria mais facil vc usar uma tabela de classificação ? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Alberto Libório Postado 21 de Janeiro de 2010 Tópicos Que Criei: 64 Tópicos/Dia: 0.01 Meu Conteúdo: 733 Conteúdo/Dia: 0.11 Reputação: 8 Pontos/Conquistas: 4.310 Conteúdo Resolvido: 0 Dias Ganho: 6 Status: Offline Idade: 56 Denunciar Compartilhar Postado 21 de Janeiro de 2010 select B.CODIGOPRD, B.DESCRICAO, MAX(A.DATAEMISSAO), C.NUMEROMOV, A.PRECOUNITARIO, A.QUANTIDADE FROM TITMMOV A LEFT OUTER JOIN TPRD B ON A.CODCOLIGADA = B.CODCOLIGADA AND A.IDPRD = B.IDPRD LEFT OUTER JOIN TMOV C ON A.CODCOLIGADA = C.CODCOLIGADA AND A.IDMOV = C.IDMOV WHERE --Aqui você cria uma sentença que seleciona somente os produtos mat. prima A.IDPRD IN (SELECT X.IDPRD FROM TPRD X WHERE X.CODIGOPRD LIKE 'HT1%') AND C.CODTMV LIKE '1.2%' AND --Aqui estou selecionando os movimentos do ano de 2010 DATEPART(YYYY,A.DATAEMISSAO) = '2010' GROUP BY B.CODIGOPRD, B.DESCRICAO, C.NUMEROMOV, A.PRECOUNITARIO, A.QUANTIDADE Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Neilson Postado 22 de Janeiro de 2010 Tópicos Que Criei: 52 Tópicos/Dia: 0.01 Meu Conteúdo: 129 Conteúdo/Dia: 0.02 Reputação: 1 Pontos/Conquistas: 1.156 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Autor Denunciar Compartilhar Postado 22 de Janeiro de 2010 Deige, Jair e Alberto Agradeços a vc´s pela dica, especificamente usei a select do Alberto, ficou beleza, mais esta duplicando as linhas de produtos. Só mais essa força, como faria para retornar apenas a ultima movimentação (Apenas a ultima linha)? Valeu. 70.01.0049 Emulsão aromatizante Uva 500000. Grapette 2009-11-06 00:00:00.000 000961 842.7000 3.0000 70.01.0049 Emulsão aromatizante Uva 500000. Grapette 2009-12-01 00:00:00.000 001303 842.7000 3.0000 70.02.0084 emulsão aromatizante uva 500184 2009-09-01 00:00:00.000 000047 16.2750 300.0000 70.02.0084 emulsão aromatizante uva 500184 2009-10-23 00:00:00.000 000954 16.2750 700.0000 70.01.0005 DENSIDADE (g/ml)25ºC 0,938 a 0,950, RESIDUO SECO(g/ml) 2009-04-15 00:00:00.000 002825 11.6900 500.0000 70.01.0005 DENSIDADE (g/ml)25ºC 0,938 a 0,950, RESIDUO SECO(g/ml) 2009-06-10 00:00:00.000 013964 11.6500 500.0000 70.01.0005 DENSIDADE (g/ml)25ºC 0,938 a 0,950, RESIDUO SECO(g/ml) 2009-09-10 00:00:00.000 032456 19.3100 136.0000 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Priscilinha Postado 22 de Janeiro de 2010 Tópicos Que Criei: 15 Tópicos/Dia: 0.00 Meu Conteúdo: 285 Conteúdo/Dia: 0.05 Reputação: 1 Pontos/Conquistas: 1.548 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 40 Dispositivo: Windows Denunciar Compartilhar Postado 22 de Janeiro de 2010 select B.CODIGOPRD, B.DESCRICAO, A.DATAEMISSAO, C.NUMEROMOV, A.PRECOUNITARIO, A.QUANTIDADE FROM TITMMOV A LEFT OUTER JOIN TPRD B ON A.CODCOLIGADA = B.CODCOLIGADA AND A.IDPRD = B.IDPRD LEFT OUTER JOIN TMOV C ON A.CODCOLIGADA = C.CODCOLIGADA AND A.IDMOV = C.IDMOV WHERE --Aqui você cria uma sentença que seleciona somente os produtos mat. prima A.IDPRD IN (SELECT X.IDPRD FROM TPRD X WHERE X.CODIGOPRD LIKE 'HT1%') AND C.CODTMV LIKE '1.2%' AND --Aqui estou selecionando os movimentos do ano de 2010 DATEPART(YYYY,A.DATAEMISSAO) = '2010' AND AND A.DATAEMISSAO = (SELECT MAX(DATAEMISSAO) FROM TITMMOV X WHERE X.CODCOLIGADA = A.CODCOLIGADA AND X.IDPRD = A.IDPRD) Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Neilson Postado 25 de Janeiro de 2010 Tópicos Que Criei: 52 Tópicos/Dia: 0.01 Meu Conteúdo: 129 Conteúdo/Dia: 0.02 Reputação: 1 Pontos/Conquistas: 1.156 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Autor Denunciar Compartilhar Postado 25 de Janeiro de 2010 (editado) Bom dia Pessoal, Valeu Priscila, fiz apenas algumas alterações mais a solução foi Otima. Deu uma enxugada no filtro de Produtos, mudei para uma tabela de classificação. Valeu Deige, Alberto, Jair e Precila Editado 25 de Janeiro de 2010 por Neilson Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Neilson Postado 25 de Janeiro de 2010 Tópicos Que Criei: 52 Tópicos/Dia: 0.01 Meu Conteúdo: 129 Conteúdo/Dia: 0.02 Reputação: 1 Pontos/Conquistas: 1.156 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Autor Denunciar Compartilhar Postado 25 de Janeiro de 2010 Tópico Fechado / Resolvido. O mesmo foi marcado como resolvido por não haver mais nada a resolver, pelo mesmo ter ficado parado por muito tempo sem o membro que o iniciou voltar a participar ou comentar, ou por não ter mais comentários de nenhum outro membro do Fórum. Qualquer coisa, alguma dúvida ou questionamento sobre o assunto, pode postar novamente que analisaremos, ou se preferir, favor entrar em contato com a administração ou moderação, através do link: Administradores e Moderadores que retiraremos o STATUS de RESOLVIDO do seu título. Se preferir, mande um email para admin@forumrm.com.br Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Participe da conversa
Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.