|
Bem Vindo, Visitante
|
Todos os Fórums
ADVPL
|
Imprimir
Enviar Para um Amigo Precisa estar Logado
|
|
|
Assunto: |
Comando SQL |
|
Versão: |
. |
|
Plataforma: |
. |
Complemento: |
|
|
DB: |
. |
Complemento: |
|
|
|
|
|
Mensagem do
@BETO
em 06/09/2017, 13:14 h
Local: MG Registro: 26/01/2006 Postagens: 534 |
Boa tarde caros, estou com um problema onde estou tentando trazer o ultimo registro de entrada de mp onde a consulta sql estou enviando para solução.
lembrando que a mesma não esta funcionando.
--SELECT DISTINCT D1_COD, D1_VUNIT, D1_QUANT, D1_TOTAL, D1_CUSTO FROM SD1010 WHERE
SELECT D1_COD, MAX(D1_EMISSAO) AS D1_EMISSAO, D1_VUNIT, D1_QUANT, D1_TOTAL, D1_CUSTO FROM SD1010 WHERE
D1_FILIAL = ‘01‘ AND
D_E_L_E_T_ <> ‘*‘ AND
--D1_EMISSAO = (SELECT MAX(D1_EMISSAO) AS D1_EMISSAO FROM SD1010) AND
D1_COD IN (
SELECT B1_COD FROM SB1010 WHERE
B1_FILIAL = ‘01‘ AND
D_E_L_E_T_ <> ‘*‘ AND
B1_TIPO NOT IN (‘PA‘,‘PI‘)
)
GROUP BY D1_COD
ORDER BY D1_COD, D1_EMISSAO DESC
|
|
|
Mensagem do
ACG1574
em 06/09/2017, 16:26 h
Local: MG Registro: 28/03/2014 Postagens: 61 |
modifiquei aqui pra voce
mas se tiver 2 registros no mesmo dia, ele vai somar ok.
SELECT distinct D1_COD, max(D1_dtdigit), sum(D1_VUNIT) unit, sum(D1_QUANT) quant,
sum(D1_TOTAL) total, sum(D1_CUSTO) custo
FROM totvs.SD1010 a,TOTVS.sb1010 b WHERE
D1_FILIAL = ‘010155‘
AND a.D_E_L_E_T_ = ‘ ‘
AND b.D_E_L_E_T_ = ‘ ‘
AND (a.d1_cod,D1_dtdigit) in (SELECT d1_cod,MAX(D1_dtdigit) FROM totvs.SD1010 WHERE D1_FILIAL = ‘010155‘ AND D_E_L_E_T_ = ‘ ‘ group by d1_cod)
AND b.B1_TIPO=‘MP‘
and a.d1_cod=b.b1_cod
group by d1_cod
order by d1_cod
;
|
|
|
Mensagem do
ACG1574
em 06/09/2017, 16:32 h
Local: MG Registro: 28/03/2014 Postagens: 61 |
aqui pega pela data e pelo recno tambem
SELECT D1_COD, max(D1_dtdigit) digitacao, sum(D1_VUNIT) unit, sum(D1_QUANT) quant,
sum(D1_TOTAL) total, sum(D1_CUSTO) custo
FROM totvs.SD1010 a,TOTVS.sb1010 b WHERE
D1_FILIAL = ‘010155‘
AND a.D_E_L_E_T_ = ‘ ‘
AND b.D_E_L_E_T_ = ‘ ‘
AND (a.d1_cod,D1_dtdigit,a.r_e_c_n_o_) in (SELECT d1_cod,MAX(D1_dtdigit),max(r_e_c_n_o_) FROM totvs.SD1010 WHERE D1_FILIAL = ‘010155‘ AND D_E_L_E_T_ = ‘ ‘ group by d1_cod)
AND b.B1_TIPO=‘MP‘
and a.d1_cod=b.b1_cod
group by d1_cod
order by d1_cod
;
Alexandre
Analista de Sistemas |
|
|
Mensagem do
EMERSON.EN
em 07/09/2017, 00:01 h
Local: SP Registro: 20/08/2010 Postagens: 669 |
tente algo assim:
SELECT * FROM SD1010 D1
WHERE D1.D_E_L_E_T_ = ‘‘ AND D1.D1_FILIAL = ‘01‘
AND D1.R_E_C_N_O_ =
(SELECT MAX(D.R_E_C_N_O_) FROM SD1010 D
WHERE D.D_E_L_E_T_ = ‘‘ AND D.D1_FILIAL = D1.D1_FILIAL
AND D.D1_COD = D1.D1_COD
AND D.D1_DTDIGIT =
(SELECT MAX(DX.D1_DTDIGIT) FROM SD1010 DX
WHERE DX.D_E_L_E_T_ = ‘‘ AND DX.D1_FILIAL = D.D1_FILIAL
AND DX.D1_COD = D.D1_COD))
|
|
|
Mensagem do
@BETO
em 08/09/2017, 10:26 h
Local: MG Registro: 26/01/2006 Postagens: 534 |
Vlw, funcionou perfeitamente... Emerson. |
|
Para postar no Fórum você precisa efetuar o seu login ou se registrar
|
|