|
Про запрос
|
|||
---|---|---|---|
#18+
Здравствуйте! Есть исходные данные Город ТТОтгрузки сумма без НДС Предыдущий месяцОтгрузки сумма без НДС Текущий месяцГород1ТТ110001200Город1ТТ11000900Город1ТТ11000nullГород1ТТ1null1200Город1ТТ1-1201200............ Ножно посчитать количество ТТ по каждому городу при положительных отгрузках с итоговой строкой. Для этого написал такой SQL. Код: 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.
Все работает. Но, итоговая строка находится посередине. Город Количество ТТ Предыдущий месяцКоличество ТТ Текущий месяцГород134Город256Город378Итого3033_Город443_Город557......... 1. Как сделать так, чтобы итоговая строка была в конце? 2. Возможно ли было запрос как то напиcать по проще и оптимальнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2017, 05:42 |
|
Про запрос
|
|||
---|---|---|---|
#18+
ferzmikkЗдравствуйте! Есть исходные данные Город ТТОтгрузки сумма без НДС Предыдущий месяцОтгрузки сумма без НДС Текущий месяцГород1ТТ110001200Город1ТТ11000900Город1ТТ11000nullГород1ТТ1null1200Город1ТТ1-1201200............ Ножно посчитать количество ТТ по каждому городу при положительных отгрузках с итоговой строкой. Для этого написал такой SQL. Код: 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.
Все работает. Но, итоговая строка находится посередине. Город Количество ТТ Предыдущий месяцКоличество ТТ Текущий месяцГород134Город256Город378Итого3033_Город443_Город557......... 1. Как сделать так, чтобы итоговая строка была в конце? 2. Возможно ли было запрос как то напиcать по проще и оптимальнее? 1. например, использовать UNION ALL вместо UNION 2. например Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2017, 07:20 |
|
Про запрос
|
|||
---|---|---|---|
#18+
непоймучка1. Как сделать так, чтобы итоговая строка была в конце? 2. Возможно ли было запрос как то напиcать по проще и оптимальнее? 1. например, использовать UNION ALL вместо UNIONТут получилось 2. например Код: vbnet 1. 2. 3. 4.
Тут тоже получилось, но не пойму почему при использовании функции SUM возвращается не сумма, а количество, да еще отрицательное. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2017, 07:39 |
|
Про запрос
|
|||
---|---|---|---|
#18+
ferzmikkнепоймучка1. Как сделать так, чтобы итоговая строка была в конце? 2. Возможно ли было запрос как то напиcать по проще и оптимальнее? 1. например, использовать UNION ALL вместо UNIONТут получилось 2. например Код: vbnet 1. 2. 3. 4.
Тут тоже получилось, но не пойму почему при использовании функции SUM возвращается не сумма, а количество, да еще отрицательное.Потому что SUM(...) суммирует результат выражения, которое указано в качестве его аргумента, в данном случае это выражение: Код: vbnet 1.
Это булевское выражение, результат которого либо TRUE(-1) либо FALSE(0) Таким образом, этот SUM суммирует '-1' для каждой записи, где выполняется данное условие и '0' для записей, где это условие не выполняется, т.е. по факту просто считает записи, где выполняется ваше условие и выдает в результате тот же COUNT, только с минусом. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2017, 08:20 |
|
|
start [/forum/topic.php?fid=45&msg=39542937&tid=1611963]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 265ms |
total: | 385ms |
0 / 0 |