Mostrar informações da mesma coluna em colunas separadas organizando pelas datas
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?
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
Curtidas 0
Respostas
Kleber Santos
08/02/2019
Você precisa usar uma condição dentro do SELECT
Tente dessa forma:
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
GOSTEI 0
Raphael
08/02/2019
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
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
GOSTEI 0
Raphael
08/02/2019
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
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
GOSTEI 0
Raphael
08/02/2019
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)
GOSTEI 0