|
|
|
SQL + XML... Вот...
|
|||
|---|---|---|---|
|
#18+
SQL... Добрый всем привет из офф-лайна! Есть проблемка (и мне кажется, что довольно распространенная и типичная), которую, в принципе, мне известно как решить, но чую всеми фибрами души, что можно решить это красивее. Вобщем так.. В БД хранится информация о списании товаров в следующем виде: Table.RegSpis: product_id storage_id reason_id quantity 1 1 1 10 1 2 1 20 2 2 2 30 и т.д..., то есть списывается некоторое количество (quantity) товаров (products) со складов (storages) по определенным причинам списания (reasons). Для товаров, складов и причин, ессссно, существуют свои справочники. Так вот, мне необходимо информацию эту получить в следующем отображении (XML): <rs> <reason id="1"> <storage id="1"> <product id="1"> <quantity>10</quantity> </product> </storage> <storage id="2"> <product id="1"> <quantity>20</quantity> </product> </storage> </reason> <reason id="2"> <storage id="2"> <product id="2"> <quantity>30</quantity> </product> </storage> </reason> </rs> Вот... Вообще полный рекордсет можно получить запросом вида: SELECT RegSpis.prod_id, RegSpis.storage_id storage_id, RegSpis.reason_id reason_id, sum(RegSpis.quantity) prih FROM RegSpis(NOLOCK) GROUP BY RegSpis.reason_id, RegSpis.storage_id, RegSpis.product_id Я так понимаю, что если последовательно делать GROUP BY сначала по первому полю, потом по первому+по второму и т.д., то можно получить требуемый результат, но мне кажется, что можно исхитриться и сделать это проще и красивее. БД: MS SQL Server 2000, сервер на ASP. Может можно, зная все уровни группировки ("reason", "storage", "product"), сформировать на сервере какой-нить хитрый запрос, который поможет это сделать? Заранее огромное спасибо всем! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 13:13:20 |
|
||
|
SQL + XML... Вот...
|
|||
|---|---|---|---|
|
#18+
Непонятно, чем не устраивает текущая реализации? Вроде, все нормально или ... договорите, что не договариваете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 13:44:41 |
|
||
|
SQL + XML... Вот...
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 15:06:19 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1818574]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
8ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 358ms |

| 0 / 0 |
