【发布时间】:2022-01-03 19:40:06
【问题描述】:
我是 SQL 新手,我正在尝试进行基本查询。
这是我要搜索的表格及其布局: https://prnt.sc/20wj54g
我的目标是有一个搜索词输入,然后让输入用于按全名搜索数据库中的名称。
这是我现在的当前查询:
SELECT *
FROM personnel p
LEFT JOIN department d ON (d.id = p.departmentID)
LEFT JOIN location l ON (l.id = d.locationID)
WHERE p.firstName LIKE '%Robert Heffron%' OR p.lastName LIKE '%Robert Heffron%';
这不起作用,因为没有包含整个字符串“Robert Heffron”的姓氏或名字,但这意味着如果用户输入该字符串以查找该人的全名,他们将找不到他们。
我目前正在使用 PHP 和 JS 来显示数据,但我正在努力处理 SQL 部分。 如果有人能提供帮助,我将不胜感激。
【问题讨论】:
-
如果您可以在 PHP 中访问此人的姓名。您可以尝试用空格分隔它并使用 where-in 子句。 WHERE p.firstName IN ('Robert','Heffron') AND p.lastName IN ('Robert','Heffron') 我们使用 AND 而不是 OR 来避免像“John Heffron”或“Robert Williams”这样的结果。