не получается создать вычисление, устал эксперементировать, прошу помощи.
Есть таблицы, схема взаимодействия в прикрепленном файле.
Необходимо создать вычисление в таблице №90, где в строке, которая заполняются из справочника №91, будет вычисляться сумма таких же строк справочника в таблице №92, при этом запись таблицы №90 должна принадлежать той же записи из главной таблицы №4, к которой принадлежит запись таблицы №18, к которой, в свою очередь, принадлежит запись таблицы №92.
Создал следующий код, который выдает не совсем те вычисления.
Как я примерно представляю, нужно сравнить множество со множеством и выбрать необходимые записи, у меня наверное сравнивается только какая-то одна запись из первой выборки. И что мне совсем не понятно - при просмотре таблицы №90 как подчиненной через таблицу №4 вычисление выдает одни данные, при просмотре таблицы №90 в режиме таблицы - другие данные.
Подскажите, что не так?
$data['rem_rab_spr'] = $line['Работы по регламенту']['id']; $data['cur_car'] = $line['ТС']['id']; $sqlQuery2 = "SELECT * FROM ".DATA_TABLE."18 WHERE status=0 AND f154='".$data['cur_car']."'"; $result2 = mysql_query($sqlQuery2) or die(mysql_error()."<br>".$sqlQuery2); $row2 = mysql_fetch_array($result2); $sqlQuery1 = "SELECT COUNT(*) as cnt1 FROM ".DATA_TABLE."92 WHERE status=0 AND f1125='".$data['rem_rab_spr']."' AND f1127='".$row2['id']."'"; $result1 = mysql_query($sqlQuery1) or die(mysql_error()."<br>".$sqlQuery1); $row1 = mysql_fetch_array($result1); $line['Состояние']=$row1['cnt1'];
Заранее благодарен!
UPD:
Если в первой выборке поставить COUNT(*) as cnt, а потом вывести результат print_r($row2(cnt)), то выводится правильтное количество искомых строк. Если оставить запрос как есть и вывести массив print_r($row2), то выводится несколько значений массива, но никак не все.
Откуда берется такое ограничение? Некорректная работа функции $line?
Сообщение отредактировал dev77rus: 09 Октябрь 2012 - 13:32













