Страница 1 из 2
Сформировать запрос
Добавлено: 14 ноя 2022, 15:27
De_mon
Добрый день. Помогите пож-та сфомировать MySQL запрос
Имеется сущность касса, поля: Пользователь,
числовые : Сумма прихода, Сумма расхода
MySQL формула : Сумма прихода - Сумма расхода = Сумма
Задача - создать поле MySQL запрос которое будет в любой из записей выводить остаток , то есть суммировать все поля "Сумма"
Из другой сущности, связанной по полю Пользователь такое делается без проблем
Выбор поля - SUM([Сумма])
Условие - [Поле пользователь в другой сущности]=[Поле пользователь из сущности Касса]
А вот как внутри сущности Касса это сделать не могу понять
PS : мне это необходимо для того чтобы при создании новой записи остаток отправлялся пользователю в смс
Re: Сформировать запрос
Добавлено: 15 ноя 2022, 08:38
support
Ну точно так же делаете, как и для другой сущности. Пробовали так делать?
Re: Сформировать запрос
Добавлено: 15 ноя 2022, 10:32
De_mon
support писал(а): 15 ноя 2022, 08:38
Ну точно так же делаете, как и для другой сущности. Пробовали так делать?
Да, но либо считает по всем клиентам и выводит общую сумму, либо ошибка синтаксиса ((
Re: Сформировать запрос
Добавлено: 15 ноя 2022, 11:51
believe
Сделайте в демо, не совсем понятно что вы делаете....
Re: Сформировать запрос
Добавлено: 17 ноя 2022, 14:09
De_mon
believe писал(а): 15 ноя 2022, 11:51
Сделайте в демо, не совсем понятно что вы делаете....
Пытаюсь создать запрос к сущности через поле внутри этой сущности , отфильтровав вывод по полю с типом 'пользователь' , пока проблема с фильтром, то есть либо общую сумму по всем пользователям выводит либо 0 (
Тот вариан запроса что на скрине - выводит общую сумму без фильтра по пользователю
Re: Сформировать запрос
Добавлено: 17 ноя 2022, 17:10
believe
Попробуйте использовать поле php код.
Например
Код: Выделить всё
$user_session=$app_user['id'];
$sum_sql=db_query("select SUM(field_1524) as sum FROM app_entity_[id сущности] where field_1530=$user_session");
$sum_arr = db_fetch_array($sum_sql);
$sum=$sum_arr['sum'];
$output_value =$sum;
Re: Сформировать запрос
Добавлено: 10 янв 2023, 14:20
De_mon
Так и не могу победить, использование данного кода приводит к ошибке :
Database Error: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '[104] where field_1530=1' at line 1
Query: select SUM(field_1524) as sum FROM app_entity_[104] where field_1530=1
Page: /index.php?module=items/info&path=104-1222&gotopage[7110]=1
Re: Сформировать запрос
Добавлено: 11 янв 2023, 00:25
Fait
De_mon писал(а): 10 янв 2023, 14:20
Так и не могу победить, использование данного кода приводит к ошибке :
Database Error: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '[104] where field_1530=1' at line 1
Query: select SUM(field_1524) as sum FROM app_entity_[104] where field_1530=1
Page: /index.php?module=items/info&path=104-1222&gotopage[7110]=1
Ну так надо id сущности без квадратных скобок указывать в запросе.
В вашем случае, это:
Код: Выделить всё
select SUM(field_1524) as sum FROM app_entity_104 where field_1530=1
Re: Сформировать запрос
Добавлено: 11 янв 2023, 00:30
Fait
De_mon писал(а): 17 ноя 2022, 14:09
believe писал(а): 15 ноя 2022, 11:51
Сделайте в демо, не совсем понятно что вы делаете....
Пытаюсь создать запрос к сущности через поле внутри этой сущности , отфильтровав вывод по полю с типом 'пользователь' , пока проблема с фильтром, то есть либо общую сумму по всем пользователям выводит либо 0 (
Тот вариан запроса что на скрине - выводит общую сумму без фильтра по пользователю
А здесь также можно в поле Условие ввести [1530]=[current_user_id]
А то у вас условие выглядит типа этого:
Выбрать сумму значений, если пользователь.
А должно быть:
Выбрать сумму значений, если пользователь равен текущему пользователю.
Re: Сформировать запрос
Добавлено: 11 янв 2023, 08:19
De_mon
Ну так надо id сущности без квадратных скобок указывать в запросе.
В вашем случае, это:
Код: Выделить всё
select SUM(field_1524) as sum FROM app_entity_104 where field_1530=1
Поправил , спасибо , но все равно не считает, если смотреть от админа то поле пустое, если зайти под пользователем то выводит 0