Подскажите в чем ошибки следующего запроса, который по идее должен формировать список товаров, включенных в счета от заданной даты:
$sqlQuery = "SELECT f1162 FROM ".DATA_TABLE."74 JOIN ".DATA_TABLE."43 ON ".DATA_TABLE."74.f807 = ".DATA_TABLE."43.f839 WHERE ".DATA_TABLE."43.f436>='".form_eng_time($date3." 00:00:00")."';
Этот запрос предполагается для модификации стандартного отчета "Доходы по категориям". Как правильно должен быть написан подобный запрос по двум таблицам для раздела Отчеты-Подготовка данных?
2
Сообщений в теме: 3
#1
Отправлено 27 Февраль 2013 - 18:58
#2
Отправлено 28 Февраль 2013 - 11:53
Запрос возвращает ошибку SQL или просто неверный результат? По-моему вы связь неверно прописали, поле связи в подтаблице должно быть равно id основной (т.к. в полях связи хранится именно id связанной записи)
#3
Отправлено 28 Февраль 2013 - 15:51
Выдается ошибка:
Parse error: syntax error, unexpected T_STRING in C:\Program Files\MSTL\ClientBase\www\report.php(12) : eval()'d code on line 50
Соответствующий фрагмент кода выглядит следующим образом
50 $sqlQuery = "SELECT sum(f812) as summa FROM ".DATA_TABLE."74 JOIN ".DATA_TABLE."43 ON f807='".$line['Счет']['id']."'" WHERE ".DATA_TABLE."43.f436>='".form_eng_time($date3." 00:00:00")."'";
Можно описать связь как WHERE f807='".$line['Счет']['id']."'", но как тогда прописать условия с полями из связанной таблицы?
Такое впечатление, что не воспринимается конструкция вида ".DATA_TABLE."43.f436.
Можете написать, как правильно должен прописываться запрос по двум таблицам или привести подобный пример?
Parse error: syntax error, unexpected T_STRING in C:\Program Files\MSTL\ClientBase\www\report.php(12) : eval()'d code on line 50
Соответствующий фрагмент кода выглядит следующим образом
50 $sqlQuery = "SELECT sum(f812) as summa FROM ".DATA_TABLE."74 JOIN ".DATA_TABLE."43 ON f807='".$line['Счет']['id']."'" WHERE ".DATA_TABLE."43.f436>='".form_eng_time($date3." 00:00:00")."'";
Можно описать связь как WHERE f807='".$line['Счет']['id']."'", но как тогда прописать условия с полями из связанной таблицы?
Такое впечатление, что не воспринимается конструкция вида ".DATA_TABLE."43.f436.
Можете написать, как правильно должен прописываться запрос по двум таблицам или привести подобный пример?
#4
Отправлено 28 Февраль 2013 - 16:01
Ошибка "syntax error" говорит о банальной синтаксической ошибке в коде (пропустили где-то скобку, кавычку, точку с запятой и т.д.), причем не в запросе SQL, а именно в самом коде вычисления. Конкретно у вас это лишняя кавычка перед WHERE. Это во-первых.
Во-вторых, я вам не говорил про вставку переменной $line в строку запроса, а про замену f839 на id внутри самой строки.
Во-вторых, я вам не говорил про вставку переменной $line в строку запроса, а про замену f839 на id внутри самой строки.
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных