Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL连接ID带有一些字符串ID_Php_Sql_Wordpress_String_Inner Join - Fatal编程技术网

Php SQL连接ID带有一些字符串ID

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_

我正在用PHP制作一个wordpress插件,我正在尝试进行这个查询,从learndash的表、wordpress用户、posts和usermeta表中获取数据。然后在html表中打印。我有工作台,我有我需要的所有其他东西,但我只错过了一件事

我为wp_usermeta表创建了一个新行,它统计课程使用的用户数。例如,它有一个meta_键
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)