如何使类似条件的SQL只能显示一组特定的行

时间:2019-04-08 08:56:12

标签: php mysql sql mysqli

我有一个查询,我在哪里从联系人表中获取信息,如下所示 enter image description here

和数字表看起来像这样 enter image description here

在搜索当前代码时,我正在获取联系电话及其号码

SELECT contacts.id, fname, lname, email, address,uid,uniqid,
       group_concat(distinct pnumber order by pnumber) c,cid
FROM contacts
LEFT JOIN numbers
    ON contacts.uniqid = numbers.cid
WHERE fname LIKE '%' OR lname LIKE '%' OR pnumber LIKE '%' AND contacts.uid = 8 
group by id, fname, lname, email, address, uid, uniqid, cid

我正在尝试搜索关键字并仅获取属于该用户“ uid”的联系人,例如,我在此处将其设置为8。显然它返回了 enter image description here

为什么AND条件不起作用,我如何获得仅属于特定uid的联系人?

注意:很抱歉发布图片,我无法为此表格生成ascii,因为它们太长了

1 个答案:

答案 0 :(得分:2)

您需要括号:

WHERE (fname LIKE '%' OR lname LIKE '%' OR pnumber LIKE '%') AND contacts.uid = 8