|
|
|
запрос на вычисление
|
|||
|---|---|---|---|
|
#18+
привет! у меня есть величина, которая рассчитывается по формуле k=a*b*c/d, причем a, b, c и d хранятся в разных таблицах. можно ли каким-то образом составить запрос к этим таблицам, который бы считал по этой формуле нужное k и вносил его в отдельную таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 11:01 |
|
||
|
запрос на вычисление
|
|||
|---|---|---|---|
|
#18+
можно. читай про select, insert | update ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 11:06 |
|
||
|
запрос на вычисление
|
|||
|---|---|---|---|
|
#18+
Добрый вечер. Есть вопрос :) Если опустить некоторые нюансы для упрощения, ситуация выглядит примерно так: есть личный кабинет у клиента. В этом кабинете клиент должен видеть свой баланс... Который вычисляется как сумма всех пополнений счета клиента минус сумма всех расходов клиента. Расходы подсчитать несколько сложнее. Представим, что товары клиента представлены в таблице записями примерно таким образом: Код: html 1. 2. 3. 4. 5. В каждой записи таблицы могут быть разные значения стоимости, количества, разный процент от суммы товара за его страхование. Чтобы получить баланс, в данном случае нужно сперва сложить сумму всех расходов клиента.. Её затем вычтем из суммы всех поступлений. Какими путями реализуется подсчет по каждой строке? Подсчитывается количество записей (Count) и через цикл for считаем сумму для каждой из строк, а затем складываем эти суммы? Или создается триггер, который подсчитывает сумму в отдельном столбце при каждом изменении таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2016, 01:46 |
|
||
|
запрос на вычисление
|
|||
|---|---|---|---|
|
#18+
sameuserи через цикл forпокажите место в mysql-ной документации, описывающее "цикл for" :) И вообще, что подразумевается под "подсчётом по каждой строке"? Вы не знаете про агрегатные функции или имеется в виду что-то гораздо более сложное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2016, 06:30 |
|
||
|
запрос на вычисление
|
|||
|---|---|---|---|
|
#18+
автор "подсчётом по каждой строке"? Под этим подразумевается набор операций: ( Стоимость_РУБ Х Количество_ШТ ) + %страховка + Доставка В примере, описанном выше, результатами подсчета будут 10 800 Р 6 000 Р 101 500 Р ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2016, 15:00 |
|
||
|
запрос на вычисление
|
|||
|---|---|---|---|
|
#18+
Ну вот так и напишешь Код: sql 1. 2. 3. 4. Или ты и правда думаешь, что MySQl не умеет ни складывать, ни умножать, ни скобки учитывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2016, 15:05 |
|
||
|
запрос на вычисление
|
|||
|---|---|---|---|
|
#18+
Спасибо за советы. Не грызите меня сильно) Я осваиваю SQL, могу ошибаться, задавать некорректные вопросы и излагать странные выводы. :) А если подобных "строк" (помню, они именовались кортежами) у клиента будет 100 или 200 штук.. Процесс подсчета не будет в таком случае, как бы это выразиться, обременительным для системы?) Предполагается в таком случае не одна сотня суммирований, вычислений процентов, умножений.. Не хотелось бы хранить в "отдельном столбце" сумму (которую мы можем и без того подсчитать, используя имеющиеся данные).. Хотелось придерживаться правил нормализации. Возможно, я недооцениваю вычислительные мощности SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2016, 15:53 |
|
||
|
запрос на вычисление
|
|||
|---|---|---|---|
|
#18+
sameuserА если подобных "строк" (помню, они именовались кортежами) у клиента будет 100 или 200 штук.. Процесс подсчета не будет в таком случае, как бы это выразиться, обременительным для системы? Вот когда он станет "обременительным для системы" - тогда и начинай спрашивать. Но пока количество записей не перевалит за хотя бы десяток миллионов, тебе это не грозит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2016, 15:55 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39205187&tid=1831974]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
165ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 471ms |

| 0 / 0 |
