Fórum Extrair apenas o registro mais recente numa consulta SQL #611330
14/06/2020
0
SET NOCOUNT ON
DECLARE @StartDate DateTime
DECLARE @EndDate DateTime
SET @StartDate = DateAdd(dd,-60,GetDate())
SET @EndDate = GetDate()
SET NOCOUNT OFF
SELECT temp.TagName ,Description ,DateTime ,Value ,StartDateTime From (
SELECT *
FROM History
WHERE History.TagName LIKE ('%NIVEL_ALTO')
AND Value = 1
AND wwRetrievalMode = 'Delta'
AND wwVersion = 'Latest'
AND DateTime >= @StartDate
AND DateTime <= @EndDate) temp
LEFT JOIN Tag ON Tag.TagName =temp.TagName
WHERE temp.StartDateTime >= @StartDate
Kelyson Resende
Curtir tópico
+ 0Post mais votado
14/06/2020
SELECT
*
FROM
History H
INNER JOIN
(SELECT
TagName, max(DateTime) MaxData
FROM
History
WHERE
TagName LIKE ('%NIVEL_ALTO')
AND Value = 1
AND wwRetrievalMode = 'Delta'
AND wwVersion = 'Latest'
AND DateTime >= @StartDate
AND DateTime <= @EndDate
GROUP BY
TagName) M ON M.TagName = H.TagName and M.MaxData = H.DateTimeEmerson Nascimento
Gostei + 1
Mais Posts
15/06/2020
Kelyson Resende
Muito obrigado!!!
Desejo acertar mais uns detalhe na consulta:
1. Inserir mais dois termos no LIKE, ou seja, seriam NIVEL_ALTO, NIVEL_MUITO_ALTO e NIVEL_MUITO_MUITO_ALTO.
2. Apresentar o resultado com apenas duas colunas. Sendo elas: TagName e DateTime (nessa sequência).
3. Fazer esta consulta a partir de uma planilha do Excel com macro habilitada (através de um botão mesmo).
Mais uma vez, agradeço!
Gostei + 0
15/06/2020
Emerson Nascimento
Basta fazer:
SELECT
TagName, max(DateTime) MaxData
FROM
History
WHERE
TagName (LIKE '%NIVEL_ALTO%' OR LIKE '%NIVEL_MUITO_ALTO%' OR LIKE '%NIVEL_MUITO_MUITO_ALTO%')
AND Value = 1
AND wwRetrievalMode = 'Delta'
AND wwVersion = 'Latest'
AND DateTime >= @StartDate
AND DateTime <= @EndDate
GROUP BY
TagNamea cláusula like serve para buscar parte de um conteúdo. se o conteúdo do campo for exatamente um dos valores que você postou, pode trocar o like por in:
SELECT
TagName, max(DateTime) MaxData
FROM
History
WHERE
TagName IN ('NIVEL_ALTO', 'NIVEL_MUITO_ALTO', 'NIVEL_MUITO_MUITO_ALTO')
AND Value = 1
AND wwRetrievalMode = 'Delta'
AND wwVersion = 'Latest'
AND DateTime >= @StartDate
AND DateTime <= @EndDate
GROUP BY
TagNameGostei + 1
16/06/2020
Kelyson Resende
Muito obrigado!!!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)