我正在尝试对加入项目中的值进行通配符搜索。即
SELECT
(
SELECT
count(*)
FROM
user_contacts e
WHERE
ece.user = 1 AND
(
e.name LIKE '%u.lastname%'
OR
e.name LIKE '%u.firstname%'
)
) as friends_count,
u.user_id,
u.firstname,
u.lastname
FROM
users u
但它不起作用。我可以改为:
e.name LIKE u.lastname
这样可行,但不包括我需要的通配符%%。
有什么想法吗?
答案 0 :(得分:3)
你可以连接它。
e.name LIKE CONCAT('%', u.lastname, '%')
答案 1 :(得分:3)
您只需要使用正确的语法进行MySQL的连接:
SELECT (SELECT count(*)
FROM user_contacts e
WHERE e.user = 1 AND
(e.name LIKE concat('%', u.lastname, '%') or
e.name LIKE concat('%', u.firstname, '%')
)
) as friends_count,
u.user_id, u.firstname, u.lastname
FROM users u;
答案 2 :(得分:0)
e.name LIKE '%' || u.lastname || '%'
请注意,mysql要求您启用标准concat运算符。见PIPES_AS_CONCAT