mysql - SQL 与列名连接

标签 mysql sql concatenation

我想要执行这样的 SQL 请求:

SELECT p.ID, p.post_title
FROM ".$wpdb->prefix."posts AS p
INNER JOIN ".$wpdb->prefix."postmeta pm
ON pm.post_id=p.ID AND pm.meta_key='shops_list'
INNER JOIN ".$wpdb->prefix."follow AS f
ON pm.meta_value LIKE CONCAT('%',f.shop_followed_id,'%')

shop_followed_id 是列名,它不起作用,但是当我使用 CONCAT('%',163,'%') 进行测试时,它起作用了。

你知道语法错误在哪里吗?

meta_value 示例:a:3:{i:0;s:3:"168";i:1;s:2:"22";i:2;s:2:"43";} shop_followed_id 示例:168

最佳答案

在我看来你好像倒退了。尝试:

INNER JOIN ".$wpdb->prefix."follow AS f
ON f.shop_followed_id LIKE CONCAT('%',pm.meta_value,'%')

关于mysql - SQL 与列名连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25646281/

相关文章:

mysql - 选择查询中有特定的单词记录

php - MySQL更新语法错误

c# - .NET、C#、LINQ、SQL 和 OR-Mapping - 我就是不明白 :(

php - 计算单个查询中另一个表的行数

sql - 如何让 csvkit/csvsql 为 csv 文件生成插入语句?

sqlite - 如何避免 GROUP_CONCAT 中的重复?

LINQ:将多个 int 属性连接成一个字符串

php - 使用来自 sql 的数据创建下拉列表并在调用 post 时保持选中的选项卡

sql - 即使成功更新后,T-SQL 过程、标量变量也会出错

python - 连接字符串和变量值