Colocar dados na mesma linha (SQL SERVER)

23/06/2021

10

Prezados, boa tarde!

Estou com uma dificuldade em colocar os dados retornados na mesma linha, são dois tipos de dados retornados.
Numérico e Data
SELECT X.CONTEUDOVALOR, X.CONTEUDODATA
	FROM MS_INFOCOMPLEMENTARVALOR X 
WHERE X.INFOCOMPLEMENTAR IN (SELECT Z.HANDLE 
				FROM MS_INFOCOMPLEMENTAR Z
				INNER JOIN MS_INFOCOMPLEMENTARVALOR Z1 ON Z1.INFOCOMPLEMENTAR = Z.HANDLE 
				WHERE Z.HANDLEORIGEM = 2)

AND X.TIPOCAMPO IN (1,3)

Ele me retorna da seguinte forma
CONTEUDOVALOR	CONTEUDODATA
0	                                    01/06/2021
340000	
0	                                     01/07/2021
340000	
0	                                      01/08/2021
340000	


Gostaria que retornasse assim:
CONTEUDOVALOR	CONTEUDODATA
340000	                                    01/06/2021
340000	                                    01/07/2021
340000                                      01/08/2021
	


Alguém poderia me ajudar?
Isaque

Isaque

Responder

Post mais votado

23/06/2021

você pode "reduzir" a query...
SELECT Z1.CONTEUDOVALOR, Z1.CONTEUDODATA
FROM MS_INFOCOMPLEMENTAR Z
INNER JOIN MS_INFOCOMPLEMENTARVALOR Z1 ON Z1.INFOCOMPLEMENTAR = Z.HANDLE
   AND Z1.TIPOCAMPO IN (1,3)
WHERE Z.HANDLEORIGEM = 2


Emerson Nascimento

Emerson Nascimento
Responder

Mais Posts

25/06/2021

Isaque

você pode "reduzir" a query...
SELECT Z1.CONTEUDOVALOR, Z1.CONTEUDODATA
FROM MS_INFOCOMPLEMENTAR Z
INNER JOIN MS_INFOCOMPLEMENTARVALOR Z1 ON Z1.INFOCOMPLEMENTAR = Z.HANDLE
   AND Z1.TIPOCAMPO IN (1,3)
WHERE Z.HANDLEORIGEM = 2




Obrigado Emerson,
Mas dessa forma não resolveu.
Consegui chegar ao resultado esperado da forma abaixo:

SELECT X.CONTEUDOVALOR Meta, B.CONTEUDODATA Periodo
FROM MS_INFOCOMPLEMENTARVALOR 	X 
INNER JOIN MS_INFOCOMPLEMENTARVALOR B ON B.INFOCOMPLEMENTAR IN (SELECT Z.HANDLE 
									                                   FROM MS_INFOCOMPLEMENTAR Z
									                                   WHERE Z.HANDLEORIGEM = 2
									                                   AND B.TIPOCAMPO = 3)
WHERE X.INFOCOMPLEMENTAR IN (SELECT Z.HANDLE 
				                   FROM MS_INFOCOMPLEMENTAR Z
				                   WHERE Z.HANDLEORIGEM = 2)
AND X.TIPOCAMPO = 1
GROUP BY 
      X.CONTEUDOVALOR, 
      B.CONTEUDODATA
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários,
consulte nossa política de privacidade.

Aceitar