Perguntas Query
- busodaniel
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 57
- Obrigados Recebidos: 0
9 anos 4 meses atrás #28488
por busodaniel
Query foi criado por busodaniel
Srs.,
Boa tarde tudo bem?
Eu fiz um query onde quero trazer o último apontamento de cada OP. Mas com a query que fiz, ele esta repetindo informações.
Alguem pode me auxiliar?
Segue a query.
Grato,
SELECT C2_NUM+C2_ITEM+C2_SEQUEN 'OP',
SUBSTRING(C2_EMISSAO,7,2) +'/'+SUBSTRING(C2_EMISSAO,5,2) +'/'+SUBSTRING(C2_EMISSAO,1,4) 'EMISSAO_OP',
MAX(SUBSTRING(D3_EMISSAO,7,2) +'/'+SUBSTRING(D3_EMISSAO,5,2) +'/'+SUBSTRING(D3_EMISSAO,1,4)) 'ULT_PRODUCAO',
C5_CLIENTE+'-'+C5_LOJACLI 'COD_CLIENTE',
C5_ZZREDUZ 'NOME_CLIENTE',
C2_PRODUTO 'COD_PRODUTO',
B1_DESC 'DESCRICAO',
B1_TIPO 'TP',
B1_UM 'UM',
C2_ZZCORTE 'CO',
C2_QUANT 'QT_PROD_C2',
SUM(D3_QUANT) 'QT_PROD_D3',
B1_ZZRET 'RET',
SUM(D3_QUANT) * (B1_ZZRET) 'TOT_RET',
B1_ZZURD 'URD',
SUM(D3_QUANT) * (B1_ZZURD) 'TOT_URD',
B1_ZZTEC 'TEC',
SUM(D3_QUANT) * (B1_ZZTEC) 'TOT_TEC',
B1_ZZDIP 'DIP',
SUM(D3_QUANT) * (B1_ZZDIP) 'TOT_DIP',
B1_ZZTFX 'TFX',
SUM(D3_QUANT) * (B1_ZZTFX) 'TOT_TFX',
B1_ZZCOR 'COR',
SUM(D3_QUANT) * (B1_ZZCOR) 'TOT_COR',
B1_ZZLAN 'LAM',
SUM(D3_QUANT) * (B1_ZZLAN) 'TOT_LAM',
B1_ZZCOST 'COS',
SUM(D3_QUANT) * (B1_ZZCOST) 'TOT_COS',
B1_ZZREV 'REV',
SUM(D3_QUANT) * (B1_ZZREV) 'TOT_REV',
B1_ZZPOL 'POL',
SUM(D3_QUANT) * (B1_ZZPOL) 'TOT_POL',
B1_ZZALG 'ALG',
SUM(D3_QUANT) * (B1_ZZALG) 'TOT_ALG'
FROM SC2010
INNER JOIN SB1010
ON B1_FILIAL = '01'
AND B1_COD = C2_PRODUTO
AND SB1010.D_E_L_E_T_ = SC2010.D_E_L_E_T_
INNER JOIN SC5010
ON C5_FILIAL = '01'
AND C5_NUM = C2_NUM
AND SC5010.D_E_L_E_T_ = SC2010.D_E_L_E_T_
LEFT JOIN SD3010
ON D3_FILIAL = '01'
AND D3_OP = C2_NUM+C2_ITEM+C2_SEQUEN
AND D3_CF = 'PR0'
AND D3_ESTORNO = ' '
AND SC2010.D_E_L_E_T_ = SD3010.D_E_L_E_T_
WHERE C2_FILIAL = '01'
AND SC2010.D_E_L_E_T_ = ' '
GROUP BY C2_NUM, C2_ITEM, C2_SEQUEN, C2_EMISSAO, D3_EMISSAO, C5_CLIENTE, C5_LOJACLI, C5_ZZREDUZ, C2_PRODUTO, B1_DESC, B1_TIPO, B1_UM, C2_ZZCORTE, C2_QUANT, B1_ZZRET, B1_ZZURD, B1_ZZTEC, B1_ZZDIP, B1_ZZTFX, B1_ZZCOR, B1_ZZLAN, B1_ZZCOST, B1_ZZREV, B1_ZZPOL, B1_ZZALG
ORDER BY C2_NUM+C2_ITEM+C2_SEQUEN
Boa tarde tudo bem?
Eu fiz um query onde quero trazer o último apontamento de cada OP. Mas com a query que fiz, ele esta repetindo informações.
Alguem pode me auxiliar?
Segue a query.
Grato,
SELECT C2_NUM+C2_ITEM+C2_SEQUEN 'OP',
SUBSTRING(C2_EMISSAO,7,2) +'/'+SUBSTRING(C2_EMISSAO,5,2) +'/'+SUBSTRING(C2_EMISSAO,1,4) 'EMISSAO_OP',
MAX(SUBSTRING(D3_EMISSAO,7,2) +'/'+SUBSTRING(D3_EMISSAO,5,2) +'/'+SUBSTRING(D3_EMISSAO,1,4)) 'ULT_PRODUCAO',
C5_CLIENTE+'-'+C5_LOJACLI 'COD_CLIENTE',
C5_ZZREDUZ 'NOME_CLIENTE',
C2_PRODUTO 'COD_PRODUTO',
B1_DESC 'DESCRICAO',
B1_TIPO 'TP',
B1_UM 'UM',
C2_ZZCORTE 'CO',
C2_QUANT 'QT_PROD_C2',
SUM(D3_QUANT) 'QT_PROD_D3',
B1_ZZRET 'RET',
SUM(D3_QUANT) * (B1_ZZRET) 'TOT_RET',
B1_ZZURD 'URD',
SUM(D3_QUANT) * (B1_ZZURD) 'TOT_URD',
B1_ZZTEC 'TEC',
SUM(D3_QUANT) * (B1_ZZTEC) 'TOT_TEC',
B1_ZZDIP 'DIP',
SUM(D3_QUANT) * (B1_ZZDIP) 'TOT_DIP',
B1_ZZTFX 'TFX',
SUM(D3_QUANT) * (B1_ZZTFX) 'TOT_TFX',
B1_ZZCOR 'COR',
SUM(D3_QUANT) * (B1_ZZCOR) 'TOT_COR',
B1_ZZLAN 'LAM',
SUM(D3_QUANT) * (B1_ZZLAN) 'TOT_LAM',
B1_ZZCOST 'COS',
SUM(D3_QUANT) * (B1_ZZCOST) 'TOT_COS',
B1_ZZREV 'REV',
SUM(D3_QUANT) * (B1_ZZREV) 'TOT_REV',
B1_ZZPOL 'POL',
SUM(D3_QUANT) * (B1_ZZPOL) 'TOT_POL',
B1_ZZALG 'ALG',
SUM(D3_QUANT) * (B1_ZZALG) 'TOT_ALG'
FROM SC2010
INNER JOIN SB1010
ON B1_FILIAL = '01'
AND B1_COD = C2_PRODUTO
AND SB1010.D_E_L_E_T_ = SC2010.D_E_L_E_T_
INNER JOIN SC5010
ON C5_FILIAL = '01'
AND C5_NUM = C2_NUM
AND SC5010.D_E_L_E_T_ = SC2010.D_E_L_E_T_
LEFT JOIN SD3010
ON D3_FILIAL = '01'
AND D3_OP = C2_NUM+C2_ITEM+C2_SEQUEN
AND D3_CF = 'PR0'
AND D3_ESTORNO = ' '
AND SC2010.D_E_L_E_T_ = SD3010.D_E_L_E_T_
WHERE C2_FILIAL = '01'
AND SC2010.D_E_L_E_T_ = ' '
GROUP BY C2_NUM, C2_ITEM, C2_SEQUEN, C2_EMISSAO, D3_EMISSAO, C5_CLIENTE, C5_LOJACLI, C5_ZZREDUZ, C2_PRODUTO, B1_DESC, B1_TIPO, B1_UM, C2_ZZCORTE, C2_QUANT, B1_ZZRET, B1_ZZURD, B1_ZZTEC, B1_ZZDIP, B1_ZZTFX, B1_ZZCOR, B1_ZZLAN, B1_ZZCOST, B1_ZZREV, B1_ZZPOL, B1_ZZALG
ORDER BY C2_NUM+C2_ITEM+C2_SEQUEN
Por favor Acessar ou Registrar para participar da conversa.
- will3698
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 310
- Obrigados Recebidos: 1
- maurorafael
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 64
- Obrigados Recebidos: 0
9 anos 4 meses atrás #28539
por maurorafael
Respondido por maurorafael no tópico Query
Opa bom dia
Da uma olhada no teu group by... C2_EMISSAO, D3_EMISSAO, provavelmente é ai que ta te trazendo os duplicados... pois após o select.. tu ta usando o max... tenta tirar esses 2 do group by.
Da uma olhada no teu group by... C2_EMISSAO, D3_EMISSAO, provavelmente é ai que ta te trazendo os duplicados... pois após o select.. tu ta usando o max... tenta tirar esses 2 do group by.
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.112 segundos