Коррелированный подзапрос в SQL

У меня есть две таблицы: таблица A и таблица B

Таблица A и Таблица B оба имеютRowId колонка.Таблица A и Таблица B оба имеютModifiedAt колонка.Также в таблице A есть столбецKey.

Проверьте условия:

Получить RowId из таблицы A, если таблица A 'Key' = someconstantВозьмите те извлеченные идентификаторы строк изTable A и проверьте, еслиModifiedAt поле этих строк -> поле ModifiedAT таблицы B с теми же rowId.

ТаблицаB нет повторений RowId, но таблицаA делает.

Что я попробовал самостоятельно:

select *
from dbo.ResultsStored rs
WHERE HashedKey = hashbytes('MD5', @StringConcat) 
                       and 
                       rs.ModifiedAT > (select Max(ModifiedAt)
    from dbo.Patients P
    where P.RowId = rs.RowId)

Примечание: Кроме того, меня удивляет, если я заменюrs.RowId с жестко закодированным значением, скажем «1», это работает, но не так.

Результаты, когда я жестко закодировал rs.RowId:

if not exists (select * from dbo.ResultsStored RS where RS.HashedKey =  0xBBE4D4DC92C713756E6683ADD671F7DA and ModifiedAt > (select ModifiedAt from dbo.Patients where RowId = 1))
begin
print'not exists'
end
else
begin
print 'exists'
end

ВЫХОД : не существует

if not exists (select * from dbo.ResultsStored RS where RS.HashedKey =  0xBBE4D4DC92C713756E6683ADD671F7DA and ModifiedAt > (select ModifiedAt from dbo.Patients where RowId = rs.RowId))
begin
print'not exists'
end
else
begin
print 'exists'
end

OUTPUT : существует

Ожидаемый результат : не существует

Могу ли я получить помощь по этому вопросу?

Ответы на вопрос(2)

Ваш ответ на вопрос