Добрый день,
Помогите, пожалуйста, с вычислением.
В таблице "Контрагенты", в поле "Сумма" необходимо подтягивать значения из таблицы "Счета", а именно нужна сумма оплаченных счетов этим клиентом за весь период.
$sqlQuery = "SELECT sum(f454) as summa FROM ".DATA_TABLE."43
WHERE status=0 AND f456='0' AND f839='".$line['Контрагенты']['Юридическое название']."'";
$res = mysql_query($sqlQuery);
$row = mysql_fetch_array($res);
$line['Сумма'] = $row['summa'];
где f454 - поле "Сумма" в таблице "Счета"
DATA_TABLE."43 - таблица "Счета"
f456='0' - поле "Остаток" в таблице "Счета"
f839 - поле связи
$line['Сумма'] - поле "Сумма" в таблице "Контрагенты", куда должна подставлять сумму записей.
Вычисление располагается в таблице "Контрагенты".
Вычисление не срабатывает и полю присваивается значение = 0.
Вычисление. Подсчет суммы значений в связанной таблице.
Автор TelecomMedia, 29 марта 2014 12:13
Сообщений в теме: 2
#1
Отправлено 29 Март 2014 - 12:13
#2
Отправлено 29 Март 2014 - 14:11
Цитата
AND f839='".$line['Контрагенты']['Юридическое название']."'";
f839 - поле связи
f839 - поле связи
В поле связи хранится id связанной записи, в данном случае - id текущего контрагента. Поэтому правильной код такой:
AND f839='".$line['ID']."'";
Целиком:
$sqlQuery = "SELECT sum(f454) as summa FROM ".DATA_TABLE."43 WHERE status=0 AND f456=0 AND f839='".$line['ID']."'"; $res = mysql_query($sqlQuery); $row = mysql_fetch_array($res); $line['Сумма'] = $row['summa'];
Тоже самое в рекомендуемом формате:
$res = data_select_field(43, "sum(f454) as summa", "status=0 AND f456=0 AND f839=",$line['ID']); $row = sql_fetch_assoc($res); $line['Сумма'] = $row['summa'];
#3
Отправлено 31 Март 2014 - 09:50
Спасибо, работает!!
Количество пользователей, читающих эту тему: 4
0 пользователей, 4 гостей, 0 анонимных













