любая помощь оценена, впервые пробуя это.
Мой SQL INNER JOIN не работает из приложения PHP для получения данных из базы данных прогресса.
Мой код для запроса SQL:
$sql="SELECT * from pub.table1 inner join pub.table2 on table1.nsnref = table2.nrnref where table1.nsscac <> '' and table1.client = 'tgl' and table2.nrname matches '*" .$_POST['suggest']. "*'";
Имена таблиц были изменены, чтобы защитить невинных. Если я выполняю любой SQL-запрос без объединения, он очень быстро возвращается через ajax, но соединения не работают для меня 🙁
Заранее благодарю за любую помощь.
Проблема в том, когда вы устанавливаете псевдоним таблицы: pub.table1
не является правильным; pub AS table1
ИЛИ ЖЕ pub table1
верно
SELECT *
FROM pub table1
INNER JOIN pub table2 ON table1.nsnref = table2.nrnref
WHERE table1.nsscac <> '' AND
table1.client = 'tgl' AND
table2.nrname matches '*" .$_POST['suggest']. "*'"
Если паб является базой данных, тогда установите другой псевдоним для таблицы
SELECT *
FROM pub.table1 T1
INNER JOIN pub.table2 T2 ON T1.nsnref = T2.nrnref
WHERE T1.nsscac <> '' AND
T1.client = 'tgl' AND
T2.nrname matches '*" .$_POST['suggest']. "*'"
Arrgh! Исправлена ошибка, при которой использовалось ключевое слово Progress «совпадения», когда я должен был использовать ключевое слово sql «like». Моя собственная вина Спасибо @danielpopa за попытку помочь.