#sql-server-2008-r2
#sql-server-2008-r2
Вопрос:
Могу ли я получить предложение о том, как сценарий написан для приведенного ниже случая
необходимо подсчитать количество членов из таблицы и назначить $ 1.00 для членов для первых 20 членов (1-20), назначить $ 1.10 для членов от 21-30, назначить $ 1.20 для членов от 31-40, и если у нас есть 50 членов для 1-го случая (назначить $ 1.00 для членовот 1-20, ) получаем всего 50 * 1 долларов США, и если у нас есть 70 участников для 2-го случая (назначьте $ 1,10 для участников от 21-30, ) получаем всего 70 * 1,10 долларов США, и если у нас есть 90 участников для 2-го случая (назначьте $ 1,20 для участников от 31-40, ) получаем всего$ 00 * 1.20
Ответ №1:
ЕСЛИ вы можете предоставить желаемый результат, помещенный в табличную форму, это легко понять, и любой орган может предоставить решение для этого….
Теперь я предлагаю этот запрос для того, что я понимаю….
select ROW_NUMBER () over (order by Member) ID
,Member
,case
when ID between 1 and 20 then 1.00
when ID between 21 and 30 then 1.10
when ID between 31 and 40 then 1.20
--when ID between 41 and 50 then $1.30 --Rest cases are not clear..
End Amount
from
(
select ROW_NUMBER () over (order by UID_PatientAccountNumber) ID
,UID_PatientAccountNumber from
test
)A
попробуйте этот код, если вы получите частичный результат до <= 40 членов, затем укажите остальные желаемые случаи, и я попытаюсь дать решение для этого в соответствии с моими знаниями (возможно, это не решения, основанные на производительности).