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


Вычисление


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

#1 TelecomMedia

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

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

Отправлено 07 Май 2014 - 20:42

Подскажите, пожалуйста, каким запросом можно:

1. Сначала запрочить все оплаченные счета контрагента
2. Затем взять последний оплаченный счет (т.е. ближайшую дату)
3. Скопировать из этого счета поля f111 и f222 в соответствующие поля "444" и "555" таблицы из которой делаем запрос (предположим что ее id 999)

К примеру, таким запросом я сейчас считаю количество оплаченных счетов клиентом:

$result = data_select_field(43, "count(f454) as cnt_rec", "status=0 AND f456=0 AND f839=",$line['ID']);
$row = sql_fetch_assoc($result);
$line['Количество оплат'] = $row['cnt_rec'];


#2 CbCoder

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

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

Отправлено 08 Май 2014 - 13:45

$result = data_select(43, "status=0 AND f456=0 AND f839=",$line['ID']," ORDER BY fnnn DESC LIMIT 1"); // nnn - id поля Дата
$row = sql_fetch_assoc($result);
$line['f444'] = $row['f111'];
$line['f555'] = $row['f222'];

Пояснение: сортируем (ORDER BY) полученные счета (т.е. оплаченные по данному контрагенту, за это отвечают условия перед ORDER BY) по дате (fnnn) в обратном порядке (DESC) и берем только первую запись (LIMIT 1) из полученного списка (т.е. как раз последний по дате счет)

#3 TelecomMedia

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

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

Отправлено 11 Май 2014 - 17:00

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





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

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