标题听起来很简单...主要问题是从什么方向我应该查询和如何输出结果。MySQL在多列搜索
这里有一个截图与空搜索:
的客户应始终是可见的(相匹配的搜索查询)。所以在这里举几个例子:
- 搜索项目2应与项目2输出客户端2
- 搜索客户机程序应与所有项目输出客户端2
- 搜索client3应该输出client3
我查询项目和加入这样的客户:
SELECT *
FROM projects AS a
LEFT JOIN clients AS b ON a.client_id = b.id
WHERE a.name LIKE '%$searchString%' OR b.name LIKE '%$searchString%'
之后,我查询f或者不包括上述查询中提取的客户端。这是唯一的方法(我知道)来获得没有任何项目的客户。
是否有可以在查询中获取这些结果的语句?这对我来说似乎不是很优雅。此外,如果我搜索client2 project1系统失败。
编辑:谢谢你到目前为止的答案。我有很多完整的连接,这在mysql中是不可能的。我改变了问题的标题和标签......对不起。我不知道任何关于完整连接的信息,并且它们在mysql中不可能。
尝试改变'LEFT JOIN'为'FULL OUTER JOIN'。 –
或者,也可以切换表格的顺序,使左连接包含空项目,或保持它们的顺序相同并切换到正确的连接。 –