powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подскажите, можно ли сделать арифметическую операцию при добавлении данных в таблицу
11 сообщений из 11, страница 1 из 1
Подскажите, можно ли сделать арифметическую операцию при добавлении данных в таблицу
    #40047932
Alexboomchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос такого характера.

У меня есть страница с формами ввода данных - Цена, Размер Комиссии
Можно ли сделать так, чтобы в БД, в поле таблицы "Комиссия" попадал сразу результат вычисления от "Цена х Комиссия" ?
То есть, если на странице вводят такие данные:

Цена - 20
Комиссия - 15%

то в таблицу заносятся следующие значения:
Цена - 20
Комиссия - 3

Можно ли это делать в самой таблице БД ?

Или это надо делать каким-то скриптом до ввода данных в таблицу?
...
Рейтинг: 0 / 0
Подскажите, можно ли сделать арифметическую операцию при добавлении данных в таблицу
    #40047934
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexboomchik,

Можно сделать триггером или вообще виртуальным полем. Но делать это в БД архитектурно неправильно.
Если понадобится поменять процент комиссии, то что делать будете?

Скорее всего вычислять комиссию надо при чтении из базы в соответствии с действующими на этот (или на нужный) момент условиями.
...
Рейтинг: 0 / 0
Подскажите, можно ли сделать арифметическую операцию при добавлении данных в таблицу
    #40047936
Alexboomchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

процент комиссии в данной строке изменяться не будет.
Потом суммы комиссий из этих строк будут только суммироваться.
А насчет триггеров и виртуальных полей где "покурить", а то я только начинаю понимать всё это?
...
Рейтинг: 0 / 0
Подскажите, можно ли сделать арифметическую операцию при добавлении данных в таблицу
    #40047939
DHDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
SET @price:=20;
SET @percent:=15;
SELECT @price,@percent,@price/100*@percent AS commission



Код: html
1.
2.
@price      @percent     commission
20          15           3.0000
...
Рейтинг: 0 / 0
Подскажите, можно ли сделать арифметическую операцию при добавлении данных в таблицу
    #40047941
Alexboomchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DHDD,

Спасибо, попробую!
Это ж можно и в php-файле записать, который будет обрабатывать данные со страницы?
...
Рейтинг: 0 / 0
Подскажите, можно ли сделать арифметическую операцию при добавлении данных в таблицу
    #40047952
Fitter2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если у вас комиссия не меняется, и вы знакомы с PHP , то вообще не понятно зачем хранить вычисляемые данные.
Я бы понял сумма и комиссия, а "Цена х Комиссия" вы можете получить всегда.
И да бизнес логика должна быть в одном месте.
...
Рейтинг: 0 / 0
Подскажите, можно ли сделать арифметическую операцию при добавлении данных в таблицу
    #40047971
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexboomchik
Цена - 20
Комиссия - 15%

то в таблицу заносятся следующие значения:
Цена - 20
Комиссия - 3

Можно ли это делать в самой таблице БД ?

Код: sql
1.
2.
3.
4.
CREATE TABLE dummy ( Price DECIMAL(10, 2),
                     Commission DECIMAL(10, 2) AS (Price * 0.15) );
INSERT INTO dummy (Price) VALUES (20);
SELECT * FROM dummy;


Price Commission20.00 3.00
...
Рейтинг: 0 / 0
Подскажите, можно ли сделать арифметическую операцию при добавлении данных в таблицу
    #40048001
Alexboomchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fitter2,

Объясню, вкратце.

Я только начинаю знакомство с PHP и MySQL.
Попутно работаю в такси
Хочу создать для себя базу данных выполненных поездок на такси, проводя вычисления выполненных поездок, их стоимости, суммы комиссии, километража, даты и прочих атрибутов.
Потом буду делать выборки по сменам, службам, километражу и комиссии.
Вот как то так.
Поэтому и хотел узнать, можно ли производить такие вычисления в самой БД в момент ввода данных.

С PHP я тоже знакомлюсь по мере освоения знаний.
По крайней мере, могу написать скрипты добавления данных в базу из форм в HTML
...
Рейтинг: 0 / 0
Подскажите, можно ли сделать арифметическую операцию при добавлении данных в таблицу
    #40048021
Fitter2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не пойму цель. Вы изучаете PHP MySQL или хотите проанализировать свои поездки?
Если второе, то и MS Excel подойдет.

В БД горизонтально вычисляемые данные не хранят, зачем тратить место на то, что можно получить на лету.

Осталось написать скрипты отображения таблицы :)
...
Рейтинг: 0 / 0
Подскажите, можно ли сделать арифметическую операцию при добавлении данных в таблицу
    #40048025
Alexboomchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fitter2, совершенно верно - я изучаю PHP и MySQL.

И, да - свои поездки я уже три года анализирую с помощью MS Excel и Google Таблиц.
Но кто сказал, что нельзя учить PHP и MySQL путем решения задач, которые уже были решены другими программными средствами?
Я думаю, что это будет эффективней, чем просто читать документацию про возможности языков.

Fitter2
В БД горизонтально вычисляемые данные не хранят, зачем тратить место на то, что можно получить на лету.

Спасибо, информация полезная.

Fitter2
Осталось написать скрипты отображения таблицы :)

Медленно, но верно двигаюсь в этом направлении!
...
Рейтинг: 0 / 0
Подскажите, можно ли сделать арифметическую операцию при добавлении данных в таблицу
    #40048047
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexboomchik
хотел узнать, можно ли производить такие вычисления в самой БД в момент ввода данных.
Я же показал, как это делается...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подскажите, можно ли сделать арифметическую операцию при добавлении данных в таблицу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]