У меня проблема с довольно простым запросом, у моей временной таблицы есть первичный ключ и столбец с именем PropertyID1
.
Я присоединяюсь к другой таблице, содержащей 3 столбца:
PropertyID, SalePrice, SaleDate
Запрос объединяется на PropertyID1
и PropertyID
, и я пытаюсь получить самую последнюю итерацию совпадения PropertyID
, так как может быть более 10 совпадений на идентификатор, и мне нужнотолько самый последний, с столбцом SaleDate
, используемым для выбора требуемых записей.
Итак, первоначальный запрос
CREATE TABLE ##RPP_CHECK
(
ID INT IDENTITY(1,1) PRIMARY KEY,
PropertyID1 VARCHAR(255) NULL
);
INSERT INTO ##IDCHECK
VALUES (41572498), (41484495), (41590235), (41611406)
SELECT
ID, ##IDCHECK.PropertyID1, PropertyID, SalePrice, SaleDate
FROM
##IDCHECK
LEFT JOIN
[ODS].[RS1] ON [ODS].[RS1].[PropertyID] = ##IDCHECK.PropertyID1
ORDER BY
ID
, который возвращает
ID PropertyID1 PropertyID SalePrice SaleDate
--------------------------------------------------
1 41572498 41572498 0.0 01-01-2011
1 41572498 41572498 0.0 01-01-2012
1 41572498 41572498 1000 01-01-2018
2 41484495 41484495 1200 01-02-2018
3 41590235 41590235 2000 01-03-2018
3 41590235 41590235 0.0 01-01-1999
4 41611406 41611406 5000 01-10-2018
ЧтоМне нужно, чтобы он вернулся
ID PropertyID1 PropertyID SalePrice SaleDate
------------------------------------------------
1 41572498 41572498 1000 01-01-2018
2 41484495 41484495 1200 01-02-2018
3 41590235 41590235 2000 01-03-2018
4 41611406 41611406 5000 01-10-2018
Я пытался просмотреть некоторые ответы, опубликованные здесь, но они не совсем подходят, я уверен, что это либо проблема MAX(
,или группировка, но не на 100% уверен, так рад за любые советы, которые вы можете предложить.
Ура