Tenho uma unica tabela que possuem linhas duplicadas, porém cada linha possui uma informação que a outra não possui, preciso mesclar a informação das 2 linhas em uma unica linha sempre com a informação máxima de data.
Tentei alguns WITH e sub selects realizando um CONCAT para criar uma chave unica porém sempre me retornam 2 linhas.
SELECT DISTINCT
CONCAT (ANO,MES,DOC) AS X,
MES,
ANO,
FROM XPTO
LEFT JOIN (
SELECT DISTINCT
CONCAT (ANO,MES,DOC) AS X,
MAX(MES),
MAX(ANO)
FROM XPTO
WHERE DOC = 'X'
GROUP BY
ANO,
MES) t2 on
t2.x = CONCAT (ANO,MES,DOC)
LEFT JOIN (
SELECT DISTINCT
CONCAT (ANO,MES,DOC) AS X,
MAX(MES),
MAX(ANO)
FROM XPTO
WHERE DOC = 'X'
GROUP BY
ANO,
MES) t1 on
t1.x = CONCAT (ANO,MES,DOC)
Pergunta
kiko92
Boa noite,
Tenho uma unica tabela que possuem linhas duplicadas, porém cada linha possui uma informação que a outra não possui, preciso mesclar a informação das 2 linhas em uma unica linha sempre com a informação máxima de data.
Tentei alguns WITH e sub selects realizando um CONCAT para criar uma chave unica porém sempre me retornam 2 linhas.
Exemplo
ANO | MES | DOC | CURRENCY | Nº| COUNTRY | BAN
2022 | 03 | 0392 | NULL | NULL |BR |NULL
2022 | 04 | 0392 | BRL | 0398 | BR | BR10
Resultado que preciso (apenas 1 linha)
ANO | MES | DOC | CURRENCY | Nº| COUNTRY | BAN
2022 | 04 | 0392 | BR | 0398 | BR | BR10
Minha Query e resultado
2022040392| 2022 | 04 | 0392 | BRL | 0398 |BR | BR10
2022040392| 2022 | 04 | 0392 | BRL | 0398 | BR | BR10
SELECT DISTINCT
Editado por kiko92CONCAT (ANO,MES,DOC) AS X,
MES,
ANO,
FROM XPTO
LEFT JOIN (
SELECT DISTINCT
CONCAT (ANO,MES,DOC) AS X,
MAX(MES),
MAX(ANO)
FROM XPTO
WHERE DOC = 'X'
GROUP BY
ANO,
MES) t2 on
t2.x = CONCAT (ANO,MES,DOC)
LEFT JOIN (
SELECT DISTINCT
CONCAT (ANO,MES,DOC) AS X,
MAX(MES),
MAX(ANO)
FROM XPTO
WHERE DOC = 'X'
GROUP BY
ANO,
MES) t1 on
t1.x = CONCAT (ANO,MES,DOC)
mais informação
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.