【发布时间】:2019-04-08 08:56:11
【问题描述】:
我在搜索时获取联系信息及其号码,目前代码如下所示
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。显然它返回这个
为什么 AND 条件不起作用,我如何获取仅属于特定 uid 的联系人?
注意:很抱歉发布图片,我无法为这张表生成 ascii,因为它们太长了
【问题讨论】:
-
为什么三个 LIKE 条件都带有通配符?它们的意思是“任何 fname、任何 lname 或任何 pnumber。你可以跳过它们
-
@LelioFaieta,我同意,看起来很奇怪。这与
IS NOT NULL相同。 -
@LeiloFaieta 我就是这样说的