2017-10-11 76 views
0

任何帮助表示赞赏,第一次尝试此操作。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调用速度非常快,但是联接不是为我工作:(

预先感谢您的任何援助。

+3

不要责怪加入。 – jarlh

+0

@jarlh你是什么意思?请提供一个具体的答案 –

+0

看起来不像一个正确的语句。'SELECT * FROM table1 A JOIN table2 B ON A.nsnref = B.nsnref ...' – Odyssey1111

回答

0

问题是,当你设置表的别名:pub.table1是不正确的; pub AS table1pub 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']. "*'" 
0

Arrgh!解决了这个问题,当我使用sql'like'关键字时,使用了Progress'matches'关键字。我自己的错。感谢@danielpopa努力提供帮助。

+0

亲切。如果LIKE没有帮助,则匹配..或者REGEXP。 – danielpopa

+0

再次感谢@danielpopa –

相关问题