我有一张桌子

 unam     fnam

 john     alex
 alex     john

如果una'john'==fnam'alex'或una'alex'==fname'john',我想要一个返回true的查询
我不知道如何在一个单一的查询。
我的代码
$re = mysql_query("SELECT 1 FROM tab WHERE unam='john' and fnam='alex' LIMIT 1");
$ir = mysql_query("SELECT 1 FROM tab WHERE unam='alex' and fnam='john' LIMIT 1");

if ((!(mysql_num_rows($re))) && (!(mysql_num_rows($ir)))) echo 'not exists';

我已经执行了2个单独的查询(一个用于unam 'john' == fnam 'alex',另一个用于unam 'alex' == fname 'john',如果两个查询都没有任何行,则它不存在。
我在想也许它可以优化为一个单一的查询。

最佳答案

您可以执行或条件来检查多个不同的条件。

SELECT 1
FROM tab
WHERE (unam='john' and fnam='alex')
    OR (fnam='john' and unam='alex')
LIMIT 1

关于php - 进入单个查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17432890/

10-12 18:08