Это зависит от вашей цели.Если вы хотите игнорировать, если MAX
дата в будущем, вам нужно использовать HAVING
:
SELECT Code,
Quantity,
MAX(EffectiveDate)
FROM YourTable
GROUP BY Code, Quantity
HAVING MAX(EffectiveDate) <= GETDATE();
Если, однако, вы хотите, чтобы MAX
дата была меньше текущейдату, используйте WHERE
:
SELECT Code,
Quantity,
MAX(EffectiveDate)
FROM YourTable
WHERE EffectiveDate <= GETDATE()
GROUP BY Code, Quantity;
Ваш вопрос неясен, какой ответ является правильным;и мы не можем сделать вывод из каких-либо данных выборки.
Редактировать:
Если мы используем следующие образцы данных:
CREATE TABLE YourTable (Code int, Quantity int, EffectiveDate date);
GO
INSERT INTO YourTable
VALUES(1,1,'20180501'),
(1,1,'20180516'),
(1,1,'20180521'),
(2,1,'20180501'),
(2,1,'20180521'),
(3,1,'20180501');
GO
Для первого запроса результат будетбыть:
Code Quantity EffectiveDate
----------- ----------- -------------
3 1 2018-05-01
Для второго это будет:
Code Quantity EffectiveDate
----------- ----------- -------------
1 1 2018-05-16
2 1 2018-05-01
3 1 2018-05-01