SQL INNER JOIN无法从PHP应用程序获取进度数据库中的数据
任何帮助表示赞赏,第一次尝试此操作。SQL INNER JOIN无法从PHP应用程序获取进度数据库中的数据
我的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!解决了这个问题,当我使用sql'like'关键字时,使用了Progress'matches'关键字。我自己的错。感谢@danielpopa努力提供帮助。
亲切。如果LIKE没有帮助,则匹配..或者REGEXP。 – danielpopa
再次感谢@danielpopa –
不要责怪加入。 – jarlh
@jarlh你是什么意思?请提供一个具体的答案 –
看起来不像一个正确的语句。'SELECT * FROM table1 A JOIN table2 B ON A.nsnref = B.nsnref ...' – Odyssey1111