|
|
|
связь по суммам. раздать Эн мужикам зарплату из М мешков с деньгами
|
|||
|---|---|---|---|
|
#18+
оракла под рукой нету. Но постараюсь понятно изложить проблему. Что-то ум за разум зашел. не могу придумать красивое решение. Что-то туплю. Итак. есть две таблицы. в каждой есть поле сумма. есть набор полей, по которым эти таблицы можно связать отношением много ко многим. Для упрощения будем считать, что условий связки нету, просто декартово произведение двух таблиц. Нужно получить результирующую таблицу - декартово произведение, с полем сумма, чтоб выполнялись следующие условия. к каждой строке первой таблицы можно привязать строки второй на сумму не более, чем указано в ее поле сумма. то есть эта строчка рамножится в результирующей таблице на сумму не бОльшую, чем в ней указано. Аналогично со второй таблицей и ее суммами. суммы можно дробить. Если по простому представить алгоритм, всякий раз когда инсертим строчку связки в результирующую таблицу - уменьшаем остаток суммы в исходных строчках. забрать из строчки больше чем в ней осталось - нельзя. можно сказать так - раздать Эн мужикам зарплату из М мешков с деньгами. заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2017, 21:12 |
|
||
|
связь по суммам. раздать Эн мужикам зарплату из М мешков с деньгами
|
|||
|---|---|---|---|
|
#18+
На livesql.oracle.com дают всем желающим запускать запросы и создавать таблички. Требуется аккаунт, но это бесплатно. Сама описанная задача требует динамического программирования и, думаю, в SQL решения не имеет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2017, 21:58 |
|
||
|
связь по суммам. раздать Эн мужикам зарплату из М мешков с деньгами
|
|||
|---|---|---|---|
|
#18+
bhrможно сказать так - раздать Эн мужикам зарплату из М мешков с деньгами.Эта задача решается элементарно: кассирша Маня берет очередной мешок и выдаёт очередному мужику не больше, чем ему положено по ведомости. Когда мешок заканчивается берёт из следующего. В результате из первого мешка получают Юра, Гоша и Жора, а Жора, в свою очередь получает из первого и второго мешков. - Все довольные мужики не донесли зарплату до жён и детей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2017, 23:10 |
|
||
|
связь по суммам. раздать Эн мужикам зарплату из М мешков с деньгами
|
|||
|---|---|---|---|
|
#18+
спасибо большое. вот бы все то же самое, но sql запросом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 00:52 |
|
||
|
связь по суммам. раздать Эн мужикам зарплату из М мешков с деньгами
|
|||
|---|---|---|---|
|
#18+
bhrспасибо большое. вот бы все то же самое, но sql запросомС какого перепугу ты решил, что кто-то будет тратить свое время, чтоб сделать эту рутину для тебя овоща? Ты хотя бы продемонстрировал свои потуги и изобразил решение на PL/SQL. Если и на это не способен, учитывая что алгоритм давно реализован и легко гуглится, то программирование не для тебя. Такое отродье как ты - это пятно на айти сообщество. Пшёл вон! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 01:25 |
|
||
|
связь по суммам. раздать Эн мужикам зарплату из М мешков с деньгами
|
|||
|---|---|---|---|
|
#18+
Препо-ДавательТакое отродье как ты - это пятно на айти сообщество. Пшёл вон! это все ужасно. Дяденька. проходи мимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 02:08 |
|
||
|
связь по суммам. раздать Эн мужикам зарплату из М мешков с деньгами
|
|||
|---|---|---|---|
|
#18+
bhrвот бы все то же самое, но sql запросомТы глаза-то разуй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 07:21 |
|
||
|
связь по суммам. раздать Эн мужикам зарплату из М мешков с деньгами
|
|||
|---|---|---|---|
|
#18+
Elicbhrвот бы все то же самое, но sql запросомТы глаза-то разуй. пока вижу только алгоритм с использованием цикла. как дяденька выше писал - pl-sql его изначально видел. sql запросом было сделано при связи один ко многим. для много ко многим - затык. но за совет - спасибо. разую обязательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 09:03 |
|
||
|
связь по суммам. раздать Эн мужикам зарплату из М мешков с деньгами
|
|||
|---|---|---|---|
|
#18+
bhrпока вижу ... разую обязательно.Не затягивай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 09:06 |
|
||
|
связь по суммам. раздать Эн мужикам зарплату из М мешков с деньгами
|
|||
|---|---|---|---|
|
#18+
Elicbhrпока вижу ... разую обязательно.Не затягивай. сорри. не заметил вложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 09:40 |
|
||
|
связь по суммам. раздать Эн мужикам зарплату из М мешков с деньгами
|
|||
|---|---|---|---|
|
#18+
спасибо. основную идею понял. решение ForStats показалось более читаемым. Беру на вооружение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 10:50 |
|
||
|
связь по суммам. раздать Эн мужикам зарплату из М мешков с деньгами
|
|||
|---|---|---|---|
|
#18+
выложу сюда его решение для тех,кому интересно. и самому, чтоб не искать в дальнейшем Код: plsql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 12:23 |
|
||
|
связь по суммам. раздать Эн мужикам зарплату из М мешков с деньгами
|
|||
|---|---|---|---|
|
#18+
bhrвыложу сюда его решение для тех,кому интересноНеформатированный поток сознания интересен только узконаправленным специалистам, не бывающих на этом форуме. bhrи самому, чтоб не искать в дальнейшемКупи блокнотик или заведи блог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 15:13 |
|
||
|
связь по суммам. раздать Эн мужикам зарплату из М мешков с деньгами
|
|||
|---|---|---|---|
|
#18+
убедили. Хрен знает, откуда такое форматирование взялось. когда выкладывал, выглядело красиво. проще было ссылку выложить на обсуждение проблемы. В любом случае, спасибо. помогли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 15:29 |
|
||
|
связь по суммам. раздать Эн мужикам зарплату из М мешков с деньгами
|
|||
|---|---|---|---|
|
#18+
гуглить задачу о наполнении ранца на sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 10:57 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=176&tid=1886453]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 325ms |

| 0 / 0 |
