Есть подтаблица
поля:
`дата создания`
`связь с основной таблицей`
`сумма`
`%`
как написать вычисление:
значения поля `%` = (текущая `сумма` * 100) / `сумма` из поля c самой ранней датой создания при равном поле связи с основной таблицей
как вычислить значение `число` из поля c самой ранней датой создания при равном поле связи с основной таблицей?
Автор Radik, 05 дек. 2013 15:38
Сообщений в теме: 8
#1
Отправлено 05 Декабрь 2013 - 15:38
#2
Отправлено 05 Декабрь 2013 - 16:18
А поля связи с родительской таблицей нет разве? Я так понимаю, нужно брать не по всей таблице самую раннюю дату, а только по текущей род.записи?
#3
Отправлено 05 Декабрь 2013 - 16:44
Да, поле связи есть `связь с родительской таблицей`
#4
Отправлено 05 Декабрь 2013 - 16:49
Обращаетесь через запрос к текущей таблице с выборкой по родительской и сортировкой по полю `дата создания`, первая запись будет с самой ранней датой. Затем достаете оттуда сумму.
$first_row = data_select_array ($table_id, "`f111`=",$line['связь с родительской таблицей']['raw']," ORDER BY `f222`"); $first_summa = $first_row['f333']; $line['%'] = ($line['сумма'] * 100) / $first_summa; // f111 - `связь с родительской таблицей` // f222 - `дата создания` // f333 - `сумма`
Сообщение отредактировал CbCoder: 06 Декабрь 2013 - 12:46
#5
Отправлено 06 Декабрь 2013 - 10:53
почему-то не отрабатывает этот... может вы заметите баг?
$first_row = data_select_array (681, "`f10681`=",$line['ID заявки']," ORDER BY `add_time`");
$first_summa = $first_row['f10791'];
$first_row = data_select_array (681, "`f10681`=",$line['ID заявки']," ORDER BY `add_time`");
$first_summa = $first_row['f10791'];
#6
Отправлено 06 Декабрь 2013 - 11:16
Так тоже не отрабатывает ...
$first_row = data_select_array (681, "`f10681`=",$line['ID заявки']," ORDER BY `add_time` DESC LIMIT 1");
$first_summa = $first_row ['f10791'];
$line['%'] = $first_summa;
$first_row = data_select_array (681, "`f10681`=",$line['ID заявки']," ORDER BY `add_time` DESC LIMIT 1");
$first_summa = $first_row ['f10791'];
$line['%'] = $first_summa;
#7
Отправлено 06 Декабрь 2013 - 11:34
Баг на экран не выходит? Возможно ошиблись с кодами полей. Тестируйте выводом переменных. Еще можно вставить $show_sql_request=1 для вывода запроса и проверить его в edit_sql.php.
Возможно, что банально сумма в первой записи пустая, или не та запись выбирается, что вы ожидаете.
Возможно, что банально сумма в первой записи пустая, или не та запись выбирается, что вы ожидаете.
#8
Отправлено 06 Декабрь 2013 - 12:37
Спасибо, разобрался. Поле связи - $line['ID заявки'][raw]
#9
Отправлено 06 Декабрь 2013 - 12:45
Да, сам ступил, извиняюсь.
Количество пользователей, читающих эту тему: 9
0 пользователей, 9 гостей, 0 анонимных













