Php SQL连接ID带有一些字符串ID
我正在用PHP制作一个wordpress插件,我正在尝试进行这个查询,从learndash的表、wordpress用户、posts和usermeta表中获取数据。然后在html表中打印。我有工作台,我有我需要的所有其他东西,但我只错过了一件事 我为wp_usermeta表创建了一个新行,它统计课程使用的用户数。例如,它有一个meta_键Php SQL连接ID带有一些字符串ID,php,sql,wordpress,string,inner-join,Php,Sql,Wordpress,String,Inner Join,我正在用PHP制作一个wordpress插件,我正在尝试进行这个查询,从learndash的表、wordpress用户、posts和usermeta表中获取数据。然后在html表中打印。我有工作台,我有我需要的所有其他东西,但我只错过了一件事 我为wp_usermeta表创建了一个新行,它统计课程使用的用户数。例如,它有一个meta_键course_stats_111,其中111与learndash表course_id=111中的课程id相同。因此,行看起来像这样meta_key=course_
course_stats_111
,其中111与learndash表course_id=111
中的课程id相同。因此,行看起来像这样meta_key=course_stats_111,meta_value=2
,其中2是用户打开课程链接多少次的meta_值。这也很有效
所以我的问题是,当course_stats_111与course_id=111匹配时,如何将这两行连接在一起
SELECT *
FROM wp_learndash_user_activity AS ld
INNER JOIN wp_users AS users ON ld.user_id = users.ID
INNER JOIN wp_posts AS posts ON ld.course_id = posts.ID
INNER JOIN wp_usermeta AS umeta ON ld.user_id = umeta.user_id
AND ld.course_id = umeta.meta_key <--THIS IS THE PART I'M HAVING TROUBLE WITH
WHERE ld.activity_type = 'course'
AND posts.post_type = 'sfwd-courses'
ORDER BY ld.course_id"
选择*
从wp_learndash_用户活动作为ld
将wp_用户作为ld.user_id=users.id上的用户进行内部连接
内部连接wp_帖子作为ld.course_id=posts.id上的帖子
内部连接wp\u usermeta作为ld.user\u id=umeta.user\u id上的umeta
这就是你想要的吗
AND umeta.meta_key = CONCAT('course_stats_', ld.course_id)