使用类似语句中的mysql变量进行SQL查询?

我想根据另一个列值选择/检查文本列中的值

SELECT tableA.randomID, wp_posts.post_content, wp_posts.ID
FROM tableA, wp_posts 
WHERE wp_posts.post_content LIKE '%tableA.randomID%' 
AND tableA.randomID = '110507B2VU'

但这不起作用,我如何设置LIKE语句

这不起作用:

SELECT tableA.randomID, wp_posts.post_content, wp_posts.ID
FROM tableA, wp_posts 
WHERE wp_posts.post_content LIKE '%110507B2VU%'
当你用引号括起来的东西 – 它被作为文字值,所以在你的第一个查询 – 你把LIKE’%tableA.randomID%’放在哪里 – MySQL实际上把它当作一个字符串.

没有引号,它将取值 – 即:

WHERE something LIKE tableA.randomID

这实际上会将’something’与tableA.randomID的值进行比较,而不是文字字符串.

然后包含你的%通配符,使你的LIKE语句与’equals’比较不同,试试CONCAT()函数.

WHERE something LIKE CONCAT("%",tableA.randomID,"%")

如果tableA.randomID的值是这样的话,那将会是什么..’banana’实际上最终是这样的:

WHERE something LIKE '%banana%'

我希望我能够清楚地解释一下;-)

相关文章
相关标签/搜索