Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Подскажите Код: sql 1. 2. 3. 4. 5. 6. 7. 8. есть категория ispromo(0-нет, 1 -есть) Как сделать чтобы если в страте CustomerName ItemRelation DocumentNum DocumentYear до 4 включительно целочисленных значений по SaleCount по ispromo=1 , то вернуть только пять предшествующих значений по SaleCount по ispromo=0 и не нулей (т.е. тоже целочисленных) например Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. тут 3 целочисленных значения по ispromo=1 1,2,4 и надо вернуть до 5 включительно предшествующих значений по ispromo=0, но не нулей (целых значений может быть меньше 5) т.е. 4,4,4,1,9 если же у нас 5 целочисленных по ispromo=1, то вернуть все значения по ispromo=0 по sale count Но если у нас по ispromo=0, SaleCount имеет только нули, вернуть все значения страты, внезависимости сколько у нас целочисленных SaleCount по ispromo=1 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2018, 17:40 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Kontox, думаю, сегодня вам смело можно вручить "переходящий вымпел дружины" за самое путанное и непонятно объяснение задачи... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2018, 17:44 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Kontox, и вообще меня удивляет... вроде как по смыслу SaleCount - натуральное число. Как натуральное может быть нецелочисленным. Или про что вы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2018, 17:45 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
целочисленное это не 0 и не отрицательное -1,-2 уже не подходят ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2018, 18:13 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Kontoxцелочисленное это не 0 и не отрицательное -1,-2 уже не подходятЭто вы сами придумали или подсказал что? Если погуглить 30 секунд, то выясняется, что http://www.webmath.ru/poleznoe/formules_18_7.php Целыми числами называются все натуральные числа, все числа противоположные им по знаку и нуль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2018, 18:53 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
ну, я просто имел ввиду не нулевые и не отрицательные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2018, 18:56 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Kontox, у вас запрос - без сортировки. чем вы определяете порядок следования строк? почему вы решили, что строки вернутся именно "примерно" в таком порядке? у меня нет уверенности в этом . более того, я думаю, что мой сервер будет склонен возвращать данные в таком порядке: 9 0 4 1 4 0 2 1 4 0 1 1 4 0 0 1 1 0 0 1 0 0 0 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2018, 19:14 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
они упорядочены по дате , просто столбец с датой, я не вставил, но они идут строго по дате по возрастанию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2018, 19:20 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
т.е. запрос возвращает мне все строго по дате по возрастанию , я проверял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2018, 19:23 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Kontox, окау. идем дальше.... такие ситуации возможны: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Понимаете, насколько расплывчато вы сформулировали условия своей хотелки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2018, 19:24 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Kontoxт.е. запрос возвращает мне все строго по дате по возрастанию , я проверялбез предложения ордер бай - это всего лишь иллюзия, зависящая от плана выполнения запроса. Завтра сервер решит делать реверс-скан по индексу - и вы получите обратный порядок следования строк. А послезавтра ваш админ снесет кластерный индекс в таблице - и вы получите кашу из кучи в результате полного её скана. но дело ваше... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2018, 19:26 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Да такое может быть. в таком случае order by Ispromo. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2018, 19:40 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Kontox, а первый столбец как? или порядок тут неважен? что тогда понимается под "предшествующими" значениями из стартового поста? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2018, 19:47 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
а первый столбец как? или порядок тут неважен? что тогда понимается под "предшествующими" значениями из стартового поста? страта должна идти CustomerName ItemRelation DocumentNum DocumentYear предыдущие, это предыдущие значения по salecount по ispromo=0 т.е. за пять значений, пока не начнется категория ispromo=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2018, 19:51 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Kontox, тогда, всё что вам нужно - это CASE и SUM() OVER(PARTITION BY ... ORDER BY ...) (Если версия сервера позволяет - 2012 и выше) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2018, 20:22 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
про case when я подозревал,но не понимаю как эту конструкцию в запрос вставить. Можете показать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2018, 20:34 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Kontox, SELECT CASE WHEN 2 > 1 THEN 3 ELSE 4 END AS test ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2018, 00:12 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2018, 05:26 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
С проверкой на цепочку IsPromo = 1 (от 4 штук) и выбирает до 5 пяти предыдущих IsPromo = 0 (если в предыдущих встречается IsPromo = 1, более ранние не берет): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2018, 06:25 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Если длина цепочки IsPromo=1 должна быть <=4: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2018, 06:31 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Kopelly, тестовые данные, на которых запросы писали, показать можете? почему-то не покидает чувство, что вы всё сделали через чур сложно, с большим количеством лишних вычислений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2018, 06:47 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Щукина Анна, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2018, 06:50 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Ошибку нашел: Во всех запросах "and t.SaleCount > 1" нужно исправить на "and t.SaleCount > 0"! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2018, 06:53 |
|
||
|
Вернуть целочисленные значения по заданному условию.
|
|||
|---|---|---|---|
|
#18+
Kontoxну, я просто имел ввиду не нулевые и не отрицательные. То есть натуральные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2018, 07:53 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39662594&tid=1689507]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
54ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 351ms |

| 0 / 0 |
