【发布时间】:2011-07-14 14:31:58
【问题描述】:
我对高级 MySQL 命令相当陌生,我有多个关系的数据库表。我有一个高级搜索功能,必须将关键字与几个字段匹配(大多数在 Assets 表中,但在 User 表中)。当我对桌面执行以下查询时,它会多次返回同一行,而它应该执行一次。
SELECT
a.id, a.asset_id, a.name, a.serial_number, a.category_id, a.status_id, a.user_id, a.location_id
FROM
assets a, users u
WHERE
(a.asset_ID LIKE '%desk%' OR a.name LIKE '%desk%' OR (u.first_name LIKE '%desk%' OR u.last_name LIKE '%desk%')) AND
a.serial_number LIKE '%%' AND
a.category_id='2'
LIMIT 25 OFFSET 5450
【问题讨论】:
-
你能粘贴一个输出样本吗?
-
查询是否在一行中多次匹配搜索关键字?这可以让你走上正轨