WHERE语句中的MySQL CONCAT(多表)

时间:2010-12-01 13:54:12

标签: mysql sql-like

我的问题非常简单 - 至少我希望是这样。我尝试在MySQL中连接两个表,并在连接字段上执行WHERE语句以生成结果。以下是示例查询:

SELECT a.name, b.company, concat_ws(' ', a.company, b.name) as whole_name  
FROM users as a  
INNER JOIN company as b on a.company_id = b.company_id  
HAVING whole_name LIKE '%IBM John%'  
LIMIT 25

此查询似乎仍在从名称列中提取,并且不会返回任何结果。我试过这样做:

SELECT a.name, b.company, concat_ws(' ', a.company, b.name) as whole_name  
FROM users as a  
INNER JOIN company as b on a.company_id = b.company_id  
WHERE concat_ws(' ', a.company, b.name) LIKE '%IBM John%'  
LIMIT 25

它仍然没有产生任何结果。数据绝对在表中。 John的公司是IBM Computer Systems。 whole_name字段会返回'IBM Computer Systems John Smith',但'%IBM John%'上的查询不返回任何内容。

任何帮助?

谢谢, 格雷格

1 个答案:

答案 0 :(得分:1)

在IBM和John之间需要一个%......它正在寻找文本中的某个地方的“IBM John”......而不是IBM那么John在某个地方......