1
私は解決方法がわからないという問題に直面しています。SQL Serverで差別日を取得するにはどうすればよいですか?
2つの値の間に3日間の差異を取得したいと考えています。
SELECT
BeginRange, EndRange,
DATEDIFF(DAY,InicioRange , FimRange) as DifferenceDays,
Code
FROM
(SELECT
MAX(DataTransacao) OVER (ORDER BY DataTransacao) BeginRange,
LEAD(DataTransacao) OVER (ORDER BY DataTransacao) EndRange,
Code
FROM
#Relatorio1
WHERE
Code = '000008480700001') AS C
WHERE
c.EndRange > c.BeginRange
-- AND datediff(day,BeginRange, EndRange) >= 3
ORDER BY
DifferenceDays, Code
結果::しかし、私は、クエリフィルタに一つの値を行うとき、私は結果だ
BeginRange EndRange DifferenceDays Code
-------------------------------------------------------
20170601 20170602 1 000008480700001
20170602 20170605 3 000008480700001
をしかし、私はフィルタなしでクエリを実行すると、私は上記の結果を得ることはありません。
SELECT
BeginRange, EndRange,
DATEDIFF(DAY,InicioRange , FimRange) as DifferenceDays,
Code
FROM
(SELECT
MAX(DataTransacao) OVER (ORDER BY DataTransacao) BeginRange,
LEAD(DataTransacao) OVER (ORDER BY DataTransacao) EndRange,
Code
FROM
#Relatorio1) AS C
WHERE
c.EndRange > c.BeginRange
-- AND datediff(day,BeginRange, EndRange) >= 3
ORDER BY
DifferenceDays, Code;
結果
NOTHING私が間違っているのは何
?私は最初のクエリで得た最初の結果を得ることができません。
感謝を! これはまさに私が探しているものです。 本当にありがとうございます! もう一度ありがとう! – Luiz