Сформировать запрос
-
De_mon
- Спонсор

- Сообщения: 194
- Зарегистрирован: 14 авг 2017, 09:08
- Имя: Дмитрий Горбунов
- Откуда: Россия Уфа
- Организация: Мебель Феличе
- Контактная информация:
Сформировать запрос
Добрый день. Помогите пож-та сфомировать MySQL запрос
Имеется сущность касса, поля: Пользователь,
числовые : Сумма прихода, Сумма расхода
MySQL формула : Сумма прихода - Сумма расхода = Сумма
Задача - создать поле MySQL запрос которое будет в любой из записей выводить остаток , то есть суммировать все поля "Сумма"
Из другой сущности, связанной по полю Пользователь такое делается без проблем
Выбор поля - SUM([Сумма])
Условие - [Поле пользователь в другой сущности]=[Поле пользователь из сущности Касса]
А вот как внутри сущности Касса это сделать не могу понять
PS : мне это необходимо для того чтобы при создании новой записи остаток отправлялся пользователю в смс
Имеется сущность касса, поля: Пользователь,
числовые : Сумма прихода, Сумма расхода
MySQL формула : Сумма прихода - Сумма расхода = Сумма
Задача - создать поле MySQL запрос которое будет в любой из записей выводить остаток , то есть суммировать все поля "Сумма"
Из другой сущности, связанной по полю Пользователь такое делается без проблем
Выбор поля - SUM([Сумма])
Условие - [Поле пользователь в другой сущности]=[Поле пользователь из сущности Касса]
А вот как внутри сущности Касса это сделать не могу понять
PS : мне это необходимо для того чтобы при создании новой записи остаток отправлялся пользователю в смс
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Сформировать запрос
Ну точно так же делаете, как и для другой сущности. Пробовали так делать?
-
De_mon
- Спонсор

- Сообщения: 194
- Зарегистрирован: 14 авг 2017, 09:08
- Имя: Дмитрий Горбунов
- Откуда: Россия Уфа
- Организация: Мебель Феличе
- Контактная информация:
Re: Сформировать запрос
Да, но либо считает по всем клиентам и выводит общую сумму, либо ошибка синтаксиса ((support писал(а): 15 ноя 2022, 08:38 Ну точно так же делаете, как и для другой сущности. Пробовали так делать?
-
believe
- Инвестор

- Сообщения: 449
- Зарегистрирован: 09 янв 2020, 11:49
- Имя: Владимир
- Откуда: Тверь
- Организация: ООО "ВебСофт"
Re: Сформировать запрос
Сделайте в демо, не совсем понятно что вы делаете....
-
De_mon
- Спонсор

- Сообщения: 194
- Зарегистрирован: 14 авг 2017, 09:08
- Имя: Дмитрий Горбунов
- Откуда: Россия Уфа
- Организация: Мебель Феличе
- Контактная информация:
Re: Сформировать запрос
Пытаюсь создать запрос к сущности через поле внутри этой сущности , отфильтровав вывод по полю с типом 'пользователь' , пока проблема с фильтром, то есть либо общую сумму по всем пользователям выводит либо 0 (
Тот вариан запроса что на скрине - выводит общую сумму без фильтра по пользователю
-
believe
- Инвестор

- Сообщения: 449
- Зарегистрирован: 09 янв 2020, 11:49
- Имя: Владимир
- Откуда: Тверь
- Организация: ООО "ВебСофт"
Re: Сформировать запрос
Попробуйте использовать поле 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;
-
De_mon
- Спонсор

- Сообщения: 194
- Зарегистрирован: 14 авг 2017, 09:08
- Имя: Дмитрий Горбунов
- Откуда: Россия Уфа
- Организация: Мебель Феличе
- Контактная информация:
Re: Сформировать запрос
Так и не могу победить, использование данного кода приводит к ошибке :
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
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
- Fait
- Инвестор

- Сообщения: 1198
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
- Контактная информация:
Re: Сформировать запрос
Ну так надо id сущности без квадратных скобок указывать в запросе.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
В вашем случае, это:
Код: Выделить всё
select SUM(field_1524) as sum FROM app_entity_104 where field_1530=1- Fait
- Инвестор

- Сообщения: 1198
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
- Контактная информация:
Re: Сформировать запрос
А здесь также можно в поле Условие ввести [1530]=[current_user_id]De_mon писал(а): 17 ноя 2022, 14:09Пытаюсь создать запрос к сущности через поле внутри этой сущности , отфильтровав вывод по полю с типом 'пользователь' , пока проблема с фильтром, то есть либо общую сумму по всем пользователям выводит либо 0 (
Тот вариан запроса что на скрине - выводит общую сумму без фильтра по пользователю
А то у вас условие выглядит типа этого:
Выбрать сумму значений, если пользователь.
А должно быть:
Выбрать сумму значений, если пользователь равен текущему пользователю.
-
De_mon
- Спонсор

- Сообщения: 194
- Зарегистрирован: 14 авг 2017, 09:08
- Имя: Дмитрий Горбунов
- Откуда: Россия Уфа
- Организация: Мебель Феличе
- Контактная информация:
Re: Сформировать запрос
Ну так надо id сущности без квадратных скобок указывать в запросе.
В вашем случае, это:
Поправил , спасибо , но все равно не считает, если смотреть от админа то поле пустое, если зайти под пользователем то выводит 0
В вашем случае, это:
Код: Выделить всё
select SUM(field_1524) as sum FROM app_entity_104 where field_1530=1