У меня есть следующий SQL:SQL Server подзапрос с футляром
select * from
(
select p.ID,
Received = (select Rec from Exp
where EstAmt = (select MAX(ex.EstAmt) from Exp ex
where ex.Prot = p.ID and EstAmt > 0)
)
From Prot
) subsel
where Received = 1
Я хочу сделать дело на Полученное таким образом, если он равен 1, то есть это сказать «Да» еще есть это сказать «Нет». Я знаю, как это сделать, но не в этой ситуации, как я получил, который является подзапросом.
Я попытался следующие, но не работает
select * from
(
select p.ID,
case Received = (select Rec from Exp
where EstAmt = (select MAX(ex.EstAmt) from Exp ex
where ex.Prot = p.ID and EstAmt > 0)
)
when 1 then 'Yes'
else 'No'
end Received
From Prot
) subsel
where Received = 1
У вас нет псевдонима 'p' нигде в обоих запросах. Это одна проблема. Я ответил ниже. – Kaf