Перейти к содержимому


Вычисление. Подсчет суммы значений в связанной таблице.


Сообщений в теме: 2

#1 TelecomMedia

    Активный участник

  • Пользователи
  • PipPipPip
  • 378 сообщений

Отправлено 29 Март 2014 - 12:13

Добрый день,

Помогите, пожалуйста, с вычислением.

В таблице "Контрагенты", в поле "Сумма" необходимо подтягивать значения из таблицы "Счета", а именно нужна сумма оплаченных счетов этим клиентом за весь период.

$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.

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 29 Март 2014 - 14:11

Цитата

AND f839='".$line['Контрагенты']['Юридическое название']."'";
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 TelecomMedia

    Активный участник

  • Пользователи
  • PipPipPip
  • 378 сообщений

Отправлено 31 Март 2014 - 09:50

Спасибо, работает!!





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных