Я пытаюсь динамически изменить значение поля с помощью запроса на выборку на основе предыдущего номера комнаты человека.
Ниже приведены пример данных и запрос, который я пробовал. Но он выдает ошибку, говорящую о том, что внутренний запрос возвращает несколько значений.
,A.[Room],A.[CSR],A.[MemberShip],A.[NatCode]
,A.[MarketCode],A.[Adult],A.[Children],A.[ArrDate]
,A.[DepDate],A.[ResvStatus], CASE WHEN A.[Room]>9000 THEN (SELECT MIN(A.[Room])FROM [RESDETAILS] C WHERE C.GuestName=A.GuestName) ELSE A.[Room] END AS [Room]
FROM [ITHAAFUSHI].[dbo].[RESDETAILS] A
WHERE [GuestName]= 'Mr Jobin Joseph'
GROUP BY
A.[BusinessDate],A.[GuestName],A.[TravelAgent]
,A.[Room],A.[CSR],A.[MemberShip],A.[NatCode]
,A.[MarketCode],A.[Adult],A.[Children],A.[ArrDate]
,A.[DepDate],A.[ResvStatus]
"Подзапрос возвратил более 1 значения. Это недопустимо, если подзапрос следует =,! =, <, <=,>,> = Или когда подзапрос используется каквыражение. "
Ниже приведен ожидаемый результат, если номер комнаты> 9000