Я использую MSSQL для запуска запроса, однако я хочу просто выполнить мои текущие шаги, используя цикл.MSSQL_Как показывать диапазон номеров по петле?
-- My current script
select product, price,price_range
from
(select
product,
price,
case
when price <= 100 then 'upto100'
when price between 101 and 200 then '101-200'
when price between 201 and 300 then '201-300'
when price between 301 and 400 then '301-400'
when price between 401 and 500 then '401-500'
when price between 501 and 600 then '501-600'
when price between 601 and 700 then '601-700'
when price between 701 and 800 then '701-800'
when price >= 801 then '800+EURO'
end as price_range
from DATA) as A
Теперь мой скрипт работает, он возвращает мне правильный результат, как я хотел:
product price price_range
shoes 50 upto100
clothes 456 401-500
computer 1500 800+EURO
НО, я могу сделать это просто? Могу ли я каким-то образом использовать циклы вместо «case ... when ... then»? Тогда, если сегменты роста цен, мне не нужно писать много «случая».
Я попытался использовать 'declare' и 'while', но не получилось. Как установить переменную для циклов в этом случае?
Лучше не использовать WHLE цикл – sqluser
Что случилось с вашей текущей? Добавление цикла замедлит его и сделает его сложным. –
Текущий работает отлично, потому что теперь я перечисляю менее 10 групп. Но если бы в реальном анализе мне понадобилось бы 50 групп, создание цикла было бы проще, чем повторение ввода «when..then ..» 50 раз – Kevin