Size: a a a

2020 May 21

ЕА

Екатерина Александро... in sql_ninja
Цикл qnty-0,9n, где n- кол-во раз вычитания
источник

IZ

Ilia Zviagin in sql_ninja
Екатерина Александровна
Есть
when srd.QNTY>0 and QNTY<=0.3 then 0.31
       when srd.QNTY>0.3 and QNTY<=0.6 then 0.62
       when srd.QNTY>0.6 and QNTY<=0.9 then 0.94
После каждого then число, которое дальше участвует в расчётах
Соответственно если qnty к примеру равно 2,2, то 2,2-0,9-0,9=0,4 и дальше 0,4<0,6
Qnty может быть любым, значи - 0,9
Какой ещё "цикл"? Какой "дальше" ? Ты запрос пишешь.
источник

IZ

Ilia Zviagin in sql_ninja
Екатерина Александровна
Есть
when srd.QNTY>0 and QNTY<=0.3 then 0.31
       when srd.QNTY>0.3 and QNTY<=0.6 then 0.62
       when srd.QNTY>0.6 and QNTY<=0.9 then 0.94
После каждого then число, которое дальше участвует в расчётах
Соответственно если qnty к примеру равно 2,2, то 2,2-0,9-0,9=0,4 и дальше 0,4<0,6
Qnty может быть любым, значи - 0,9
нет никакого "после каждого then".
источник

IZ

Ilia Zviagin in sql_ninja
Екатерина Александровна
Есть
when srd.QNTY>0 and QNTY<=0.3 then 0.31
       when srd.QNTY>0.3 and QNTY<=0.6 then 0.62
       when srd.QNTY>0.6 and QNTY<=0.9 then 0.94
После каждого then число, которое дальше участвует в расчётах
Соответственно если qnty к примеру равно 2,2, то 2,2-0,9-0,9=0,4 и дальше 0,4<0,6
Qnty может быть любым, значи - 0,9
when сработает ОДИН РАЗ, и выберет соответствующий THEN, и всё.
CASE-выражение его вернёт. Никакого "после" не будет.
источник

IZ

Ilia Zviagin in sql_ninja
Екатерина Александровна
Цикл qnty-0,9n, где n- кол-во раз вычитания
Это не цикл
источник

ЕА

Екатерина Александро... in sql_ninja
Ilia Zviagin
Это не цикл
Я сейчас попробую прописать более длинно, минуточку
источник

IZ

Ilia Zviagin in sql_ninja
Екатерина Александровна
Я сейчас попробую прописать более длинно, минуточку
Да не надо, я уже понял, ты пытаешься программу писать, а это не программа, это запрос.
Так не получится.
источник

IZ

Ilia Zviagin in sql_ninja
Екатерина Александровна
Я сейчас попробую прописать более длинно, минуточку
Если ты не можешь написать математически выражение, чтобы получить значение, то есть формулу, то это сделать невозможно
(ну или надо делать функцию если это возможно)
источник

R

RA-TA-TATA in sql_ninja
Подскажите, что за бред, объединяю 2 запроса с order by, а получаю ошибку.
The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP, OFFSET or FOR XML is also specified.

Запрос такого формата
Select a.*
FROM(
  SELECT *
  FROM
  Where
  Order by [Index]) a

UNION ALL

Select b.*
FROM(
  SELECT *
  FROM
  Where
  Order by [Index]) b
источник

R

RA-TA-TATA in sql_ninja
Все разобраться не могу
источник

R

RA-TA-TATA in sql_ninja
поправил, забыл совсем что order by выполняется в конце запроса
источник

Дt

Дмитрий texnix 🇨🇳... in sql_ninja
источник

G

Gopneg in sql_ninja
RA-TA-TATA
поправил, забыл совсем что order by выполняется в конце запроса
можешь сделать top 10000000 (главное заведомо больше чем записей) и твоя херня тоже заработает
источник

R

RA-TA-TATA in sql_ninja
Gopneg
можешь сделать top 10000000 (главное заведомо больше чем записей) и твоя херня тоже заработает
Не херня, а запрос sql
источник

R

RA-TA-TATA in sql_ninja
Gopneg
можешь сделать top 10000000 (главное заведомо больше чем записей) и твоя херня тоже заработает
Костыль посоветовал какой-то
источник

G

Gopneg in sql_ninja
какой код, такой и совет
источник

R

RA-TA-TATA in sql_ninja
Gopneg
какой код, такой и совет
ну слушай, не поспоришь
источник

ЕА

Екатерина Александро... in sql_ninja
Ilia Zviagin
Если ты не можешь написать математически выражение, чтобы получить значение, то есть формулу, то это сделать невозможно
(ну или надо делать функцию если это возможно)
case when srd.QNTY>0 and QNTY<=0.3 then 0.31
       when srd.QNTY>0.3 and QNTY<=0.6 then 0.62
       when srd.QNTY>0.6 and QNTY<=0.9 then 0.94
       when srd.QNTY>0.9 and  (QNTY-0,9) <=0,3 then (o,94+0,31)
       when srd.QNTY>0.9 and  (QNTY-0,9) <=0,6 then (o,94+0,62)
       when srd.QNTY>0.9 and  (QNTY-0,9) <=0,9 then (o,94+0,94)
        when srd. (QNTY-0,9) >0.9 and  (QNTY-0,9-0,9) <=0,3 then (o,94+0,94+0,31)
       when srd. (QNTY-0,9) >0.9 and  (QNTY-0,9-0,9) <=0,6 then (o,94+0,94+0,62) 
       when srd. (QNTY-0,9) >0.9 and  (QNTY-0,9-0,9) <=0,9 then (o,94+0,94+0,94)
И тд и т.п
Вот можно это как-то поизящней сделать
источник

IZ

Ilia Zviagin in sql_ninja
Екатерина Александровна
case when srd.QNTY>0 and QNTY<=0.3 then 0.31
       when srd.QNTY>0.3 and QNTY<=0.6 then 0.62
       when srd.QNTY>0.6 and QNTY<=0.9 then 0.94
       when srd.QNTY>0.9 and  (QNTY-0,9) <=0,3 then (o,94+0,31)
       when srd.QNTY>0.9 and  (QNTY-0,9) <=0,6 then (o,94+0,62)
       when srd.QNTY>0.9 and  (QNTY-0,9) <=0,9 then (o,94+0,94)
        when srd. (QNTY-0,9) >0.9 and  (QNTY-0,9-0,9) <=0,3 then (o,94+0,94+0,31)
       when srd. (QNTY-0,9) >0.9 and  (QNTY-0,9-0,9) <=0,6 then (o,94+0,94+0,62) 
       when srd. (QNTY-0,9) >0.9 and  (QNTY-0,9-0,9) <=0,9 then (o,94+0,94+0,94)
И тд и т.п
Вот можно это как-то поизящней сделать
А что такое  

o, 94 + 0,31  ?
источник

ЕА

Екатерина Александро... in sql_ninja
0,94+0,31
источник