Fórum Mostrar informações da mesma coluna em colunas separadas organizando pelas datas #600416

08/02/2019

0

SQL

Estou com uma duvida não estou achando nas pesquisas, uma solução,
Queria mostrar em duas colunas as informações do campo QINI em 2016 e informações do mesmo campo em 2017 em colunas separadas.
o comando abaixo me retorna tudo na mesma coluna , o que posso usar para retornar em colunas diferentes?

SELECT   QINI 
FROM teste
WHERE  DATA = ''20161231''

union ALL

SELECT   QINI 
FROM = teste
WHERE DATA = ''20171231''
Raphael

Raphael

Responder

Posts

08/02/2019

Kleber Santos

Você precisa usar uma condição dentro do SELECT

Tente dessa forma:

SELECT 
CASE WHEN YEAR(DATA) = 2017 THEN QINI ELSE 0 END AS '2017', 
CASE WHEN YEAR(DATA) = 2016 THEN QINI ELSE 0 END

FROM 
teste

WHERE 
YEAR(DATA) >= 2016 AND 
YEAR(DATA) <= 2017
Responder

Gostei + 0

08/02/2019

Raphael

Você precisa usar uma condição dentro do SELECT

Tente dessa forma:

SELECT
CASE WHEN YEAR(DATA) = 2017 THEN QINI ELSE 0 END AS '2017',
CASE WHEN YEAR(DATA) = 2016 THEN QINI ELSE 0 END

FROM
teste

WHERE
YEAR(DATA) >= 2016 AND
YEAR(DATA) <= 2017



As Datas precisam ser do dia 31122017 e 31122016, quando removo o YEAR e fixo a data direta retorna tudo 0
Responder

Gostei + 0

08/02/2019

Raphael

Você precisa usar uma condição dentro do SELECT

Tente dessa forma:

SELECT
CASE WHEN YEAR(DATA) = 2017 THEN QINI ELSE 0 END AS ''2017'',
CASE WHEN YEAR(DATA) = 2016 THEN QINI ELSE 0 END

FROM
teste

WHERE
YEAR(DATA) >= 2016 AND
YEAR(DATA) <= 2017


As Datas precisam ser do dia 31122017 e 31122016, quando removo o YEAR e fixo a data direta retorna tudo 0


Consegui trocando condição WHERE!

Obrigado pela ajuda.

Fiz
WHERE
DATA = 20161231 or DATA = 20171231
Responder

Gostei + 0

08/02/2019

Raphael


Fiz dessa forma, mas acabei de ver que os resultados de 2017 estão errados, o que posso utilizar como opção no WHERE?


SELECT
CASE WHEN YEAR(DATA) = 2016 THEN QINI ELSE 0 END AS '2016',
CASE WHEN YEAR(DATA) = 2017 THEN QINI ELSE 0 END ,

FROM teste

WHERE
DATA = '20161231' or DATA = '20171231' ( ele não mostra os resultados de 2017, só alguns não entendi ainda o porque)
DATA = '20161231' and DATA = '20171231' ( ele não mostra nenhum resultado)



Responder

Gostei + 0

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

Aceitar