Galera, tenho esse select que me retorna os dados conforme as horas. EX:

00:00 01:00 05:00

500    700    1000

Estou tentando fazer da seguinte forma:

00:00 01:00 02:00 03:00 04:00 05:00

500    700      0        0       0    1000

Mas esta dando erro alguém poderia me dar uma luz?

Exibições: 155

Respostas a este tópico

SELECT 
DATEPART(Hour, campo1) AS 'Hora',
SUM(campo2) AS 'Fe',
SUM(campo3) AS 'SiO2',
SUM(campo4) AS 'Al2O3',
SUM(campo5) AS 'MnO2',
SUM(campo6) AS 'P',
SUM(campo7) AS 'PPC',
SUM(campo8) AS '>0,075 mm',
SUM(campo9) AS '<0,044 mm',
SUM(campo10) AS 'Superfície Específica',
SUM(campo11)AS 'pH',
SUM(campo12) AS '% Sólidos',
SUM(campo13) AS 'Densidade Polpa',
SUM(campo14) AS 'Densidade Sólidos'
FROM #manejar2
INNER JOIN Horas ON (Campo1 = Hora)
INNER JOIN #manejar2 ON (Campo1 = Hora)
WHERE campo1 BETWEEN @StartDia AND @EndDia 
GROUP BY DATEPART(DAY, campo1), DATEPART(HOUR, campo1)
END

Nesse caso ou você grava as horas no banco, ou você faz um case colocando todas as horas que você quer como uma coluna dentro do select.

SELECT nome =
CASE tppessoa
WHEN
1 THEN (
SELECT c
.nome FROM cliente c WHERE c.cdcliente = p.cdcliente
)
WHEN
2 THEN (
SELECT f
.nome FROM fornecedor f
WHERE f
.cdfornecedor = p.cdfornecedor
)
ELSE
''
END
FROM pessoa p

Eu tenho uma tabela que consta as 24 horas... não entendi seu case.

Então ao invés de inner use o left join para trazer a hora mesmo que não esteja na tabela manejar2 

Tentei mas não tras

SELECT DATEPART(Hour, h.campo1) AS 'Hora',
SUM(campo2) AS 'Fe',
SUM(campo3) AS 'SiO2',
SUM(campo4) AS 'Al2O3',
SUM(campo5) AS 'MnO2',
SUM(campo6) AS 'P',
SUM(campo7) AS 'PPC',
SUM(campo8) AS '>0,075 mm',
SUM(campo9) AS '<0,044 mm',
SUM(campo10) AS 'Superfície Específica',
SUM(campo11)AS 'pH',
SUM(campo12) AS '% Sólidos',
SUM(campo13) AS 'Densidade Polpa',
SUM(campo14) AS 'Densidade Sólidos'
FROM Horas h
LEFT JOIN #manejar2 M
ON (H.Campo1 = M.CAMPO1)
WHERE campo1 BETWEEN @StartDia AND @EndDia
GROUP BY DATEPART(DAY, campo1), DATEPART(HOUR, campo1)
END

RSS

© 2017   Criado por Ramon Durães.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço