|
Нужно написать запрос!
|
|||
---|---|---|---|
#18+
Написать функцию select_orders_by_item_name. Она получает один аргумент - наименование позиции (строка), и должна найти все заказы, в которых имеется позиция с данным наименованием. Кроме того, она должна подсчитать количество позиций с указанным наименованием в каждом отдельном заказе. Результатом вызова функции должна быть таблица с тремя колонками: - order_id (row_id заказа) - customer (наименование заказчика) - items_count (количество позиций с данным наименованием в этом заказе) Код: 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. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186.
У меня получилось написать функцию которая не считает количество позиций с данным наименованием. CREATE FUNCTION select_orders_by_item_name (@string nvarchar(max)) returns Table AS RETURN ( select distinct Orders.row_id,Customers.name,OrderItems.nameO from orders,orderitems,Customers where OrderItems.order_id=Orders.row_id and Customers.row_id=Orders.customer_id and OrderItems.nameO=@string ); Есть запрос который это делает. SELECT OrderItems.nameO, COUNT(OrderItems.nameO) AS CNT FROM OrderItems GROUP BY OrderItems.nameO HAVING COUNT(*) > 1 КАК ЕГО ДОБАВИТЬ В ФУНКЦИЮ? и ещё нужно кое что сделать. Написать функцию calculate_total_price_for_orders_group. Она получает row_id группы (либо заказа), и возвращает суммарную стоимость всех позиций всех заказов в этой группе (заказе), причем суммирование должно выполняться по всему поддереву заказов, начинающемуся с данной группы. Функция должна возвращать число. Примеры вызова функции: select stack.calculate_total_price_for_orders_group(1) as total_price -- 703, все заказы select stack.calculate_total_price_for_orders_group(2) as total_price -- 513, группа 'Частные лица' select stack.calculate_total_price_for_orders_group(3) as total_price -- 510, группа 'Оргтехника' select stack.calculate_total_price_for_orders_group(12) as total_price -- 190, группа 'Юридические лица' select stack.calculate_total_price_for_orders_group(13) as total_price -- 190, заказ 'ИП Федоров' ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2022, 13:25 |
|
Нужно написать запрос!
|
|||
---|---|---|---|
#18+
Жесткая задача "Нужно написать запрос!" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2022, 14:46 |
|
Нужно написать запрос!
|
|||
---|---|---|---|
#18+
Ролг Хупин Жесткая задача "Нужно написать запрос!" И цена за работу IS NULL ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2022, 15:18 |
|
Нужно написать запрос!
|
|||
---|---|---|---|
#18+
L_argo Ролг Хупин Жесткая задача "Нужно написать запрос!" И цена за работу IS NULL То еще и не всё: "и ещё нужно кое что сделать" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2022, 16:15 |
|
Нужно написать запрос!
|
|||
---|---|---|---|
#18+
Ролг Хупин, Для знающего человека тут делов на 5 минут, я сам бы это года полтора назад сделал, но уже все забыл,вот и решил попросить помощи на форуме, но тут тролли какие-то =( ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2022, 17:02 |
|
Нужно написать запрос!
|
|||
---|---|---|---|
#18+
Kyltyapin Ролг Хупин, Для знающего человека тут делов на 5 минут, я сам бы это года полтора назад сделал, но уже все забыл,вот и решил попросить помощи на форуме, но тут тролли какие-то =( Не обращайте на них внимание, стойте на своём! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2022, 17:31 |
|
Нужно написать запрос!
|
|||
---|---|---|---|
#18+
L_argo, Ты решить то сможешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2022, 00:20 |
|
Нужно написать запрос!
|
|||
---|---|---|---|
#18+
Удивляюсь, что так кто-то еще пишет: from orders,orderitems,Customers. Синтаксис уже 30 с лишним лет как является устаревшим. Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2022, 01:45 |
|
Нужно написать запрос!
|
|||
---|---|---|---|
#18+
Владислав Колосов, я совсем растерял свои знания в sql и прям очень стыдно просить, но будь добр, можешь полностью функцию написать, а то я даже и копировать коды разучился(((( Буду очень тебе благодарен, хороший человек. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2022, 02:26 |
|
Нужно написать запрос!
|
|||
---|---|---|---|
#18+
Функцию calculate_total_price_for_orders_group написал успешно. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Осталось только select_orders_by_item_name. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2022, 04:06 |
|
Нужно написать запрос!
|
|||
---|---|---|---|
#18+
Kyltyapin Ролг Хупин, Для знающего человека тут делов на 5 минут, я сам бы это года полтора назад сделал, но уже все забыл,вот и решил попросить помощи на форуме, но тут тролли какие-то =( бухаете? Как минимум, не стоит пивом полироваться после водки, напрочь отбивает память ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2022, 14:54 |
|
Нужно написать запрос!
|
|||
---|---|---|---|
#18+
Ролг Хупин, Армия ((( ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2022, 19:56 |
|
Нужно написать запрос!
|
|||
---|---|---|---|
#18+
Владислав Колосов, помоги добрый человек. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2022, 20:14 |
|
Нужно написать запрос!
|
|||
---|---|---|---|
#18+
Kyltyapin, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2022, 20:38 |
|
Нужно написать запрос!
|
|||
---|---|---|---|
#18+
Kyltyapin Владислав Колосов, помоги добрый человек . Если перед обращением не ставить запятую, то юзеры поймут, что вас взяли в заложники и вы пишете не по своей воле! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2022, 10:43 |
|
Нужно написать запрос!
|
|||
---|---|---|---|
#18+
Kyltyapin L_argo, Ты решить то сможешь? Но не хочу. Может лучше в армию сходить ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2022, 18:31 |
|
|
Start [/forum/topic.php?fid=46&fpage=2&tid=1683814]: |
0ms |
get settings: |
18ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
38ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
322ms |
get tp. blocked users: |
1ms |
others: | 274ms |
total: | 668ms |
0 / 0 |