2016-08-02 6 views
1

У меня есть простой вопрос, хотя это может быть немного сложно объяснить.Можно ли вставить арифметическую операцию в инструкции sql-вставки?

У меня есть таблица и эта таблица имеет три столбца со следующими значениями уже заселенными: Баланс счета, Charge, сумма, уплаченная в

Initially Account balance = £00.00 
Charge = £200.00 
Amount Paid in = £100 

Значение в Account balance, зависят от следующих арифметических операций: Charge - Amount Paid in, который является 200 - 100 = 100.

Как я могу представить это в инструкции SQL? Итак, что я имею в виду, как бы я мог заполнить значение в столбце Учетная запись, используя инструкцию SQL, которая содержит арифметическую операцию Charge - Amount paid in?

Извинения за длинный пост. Я очень новичок в SQL, поэтому я просто пытаюсь обойти его.

Спасибо!

+0

Я думаю, что образцы данных и желаемые результаты были бы полезными. Я не очень хорошо понимаю, как выглядит таблица и что вы хотите делать. , , «вставить» или «обновить». –

+0

Опиши свою таблицу здесь, чтобы получить ответы на вопросы – JavaHopper

ответ

1

Короткий ответ: вам не нужно это делать вообще, и вам не нужна колонка баланса счета. Вам нужно только сохранить оплаченную сумму и плату. Вы можете рассчитать баланс счета в любое время, используя

SELECT (sum(charge) - sum(paid)) as account balance FROM my_table where ... 

Обратите внимание, что в вашей нынешней попытки, не принимая во внимание, перенесенных баланс, где, как запрос вышеуказанного характера делает.

+0

+1 Спасибо! Но где это значение будет храниться? Так что мне нужно сделать, это заполнить значение в этом столбце баланса аккаунта на основе расчета (платная сумма), причина в том, что я хочу позже вытащить это значение и отобразить в поле в этом приложении, которое я создаю , Извиняюсь, если я немного побеспокоил здесь. – Mahbs

+0

Как я уже сказал, нет необходимости хранить его и, как правило, в СУБД, мы ничего не храним, если это результат простого вычисления. Запрос, который я вам дал, - это то, как вы его извлекаете. Конечно, как вы его показываете, это зависит от того, что делает ваше приложение. – e4c5

+0

вы можете использовать триггеры - ВСТАВИТЬ ПОСЛЕ триггера и обновить строку таблицы с расчетом @ e4c5 упомянул – JavaHopper