Don*_*n P 21 mysql sql join sql-like
可能重复:
使用mysql连接查询?
我想做一个连接,其中一列包含来自另一个表的列的字符串:
SELECT
a.first_name,
b.age
FROM names a
JOIN ages b
ON b.full_name LIKE '%a.first_name%'
Run Code Online (Sandbox Code Playgroud)
这可能吗?我正在使用MySQL.当然上面的查询将不起作用,因为LIKE'%a.first_name%'将仅查找字符串a.first_name,而不是列的实际值.
col*_*ins 42
您只需要连接字符串,您也可以进行搜索和替换.
SELECT
a.first_name,
b.age
FROM names a
JOIN ages b
ON b.full_name LIKE '%' + a.first_name + '%'
Run Code Online (Sandbox Code Playgroud)
fth*_*lla 19
你可以使用CONCAT:
SELECT
a.first_name,
b.age
FROM
names a JOIN ages b
ON b.full_name LIKE CONCAT('%', a.first_name, '%')
Run Code Online (Sandbox Code Playgroud)
或也LOCATE,返回的第一次出现的位置a.first_name在b.full_name:
SELECT
a.first_name,
b.age
FROM
names a JOIN ages b
ON LOCATE(a.first_name, b.full_name)
Run Code Online (Sandbox Code Playgroud)
如果匹配,则加入将成功.