SQL 使用 some_string_ID 加入 ID
SQL join ID with some_string_ID
我正在用 PHP 制作一个 wordpress 插件,我正在尝试从 learndash 的 table、wordpress 用户、帖子和 usermeta tables。然后我在 html table 中打印。我有 table 工作,我有我需要的所有其他东西,但我只缺少一件事。
我在 wp_usermeta table 中创建了一个新行,用于计算用户课程使用情况。例如,它有一个 meta_key course_stats_111
,其中 111 与 learndash table course_id = 111
中的课程 ID 相同。所以该行看起来像这样 meta_key = course_stats_111, meta_value = 2
,其中 2 是 meta_value 用户打开课程的次数 link。这也很好用。
所以我的问题是如何将 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"
这是你想要的吗?
AND umeta.meta_key = CONCAT('course_stats_', ld.course_id)
我正在用 PHP 制作一个 wordpress 插件,我正在尝试从 learndash 的 table、wordpress 用户、帖子和 usermeta tables。然后我在 html table 中打印。我有 table 工作,我有我需要的所有其他东西,但我只缺少一件事。
我在 wp_usermeta table 中创建了一个新行,用于计算用户课程使用情况。例如,它有一个 meta_key course_stats_111
,其中 111 与 learndash table course_id = 111
中的课程 ID 相同。所以该行看起来像这样 meta_key = course_stats_111, meta_value = 2
,其中 2 是 meta_value 用户打开课程的次数 link。这也很好用。
所以我的问题是如何将 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"
这是你想要的吗?
AND umeta.meta_key = CONCAT('course_stats_', ld.course_id)