我试图在MySQL中创建一个视图,使用phpMyAdimn,它将以下面的格式显示来自三个表的数据。它需要按姓氏,名字排序。我之前从未从多个表中提取数据,这对我来说很难掌握。我需要尽快让它工作,以便我可以在Google Data Studio中为我们的客户创建报告。
...谢谢
姓氏,名字,电子邮件,集团(亚特兰大,查尔斯顿,格林维尔,纳什维尔),课程进度,完成日期
TABLES COLUMNS
wp_users user_email
wp_usermeta first_name, last_name, wp_2_capabilities
wp_2_wpcw_user_progress unit_completed_status, unit_completed_date
CREATE VIEW UserCourseProgress AS
SELECT
wp_users.user_email, wp_usermeta.first_name, wp_usermeta.last_name, wp_usermeta.wp_2_capabilities, wp_2_wpcw_user_progress.unit_completed_status, wp_2_wpcw_user_progress.unit_completed_date
FROM
wp_users,
wp_usermeta,
wp_2_wpcw_user_progress
INNER JOIN wp_usermeta ON (wp_users.user_email=wp_usermeta.first_name) AND (wp_users.user_email=wp_usermeta.last_name) AND (wp_users.user_email=wp_usermeta.wp_2_capabilities)
INNER JOIN wp_2_wpcw_user_progress (wp_users.user_email=wp_2_wpcw_user_progress.unit_completed_status) AND (wp_users.user_email=wp_2_wpcw_user_progress.unit_completed_date)
答案 0 :(得分:0)
我在这里回答了我自己的问题。让我说我是MySQL查询的新手,但你们中的一些人可能已经猜到了。
在我能够让我的查询工作之前,我研究了很多例子,并且花费了几个小时,持续了好几天。我的解决方案的代码如下,它的工作原理。我仍然没有想出如何连接wp_2_capabilities中的数据只显示角色,而不是序列化数据,但这是另一天。
感谢你们的投入。
CREATE VIEW CourseProgress AS
SELECT
wp_users.ID,
wp_users.user_email,
firstmeta.meta_value AS first_name,
lastmeta.meta_value AS last_name,
rolemeta.meta_value AS wp_2_capabilities,
unitprogress.unit_completed_status
FROM
wp_users
LEFT JOIN wp_usermeta AS firstmeta
ON
wp_users.ID = firstmeta.user_id AND firstmeta.meta_key = 'first_name'
LEFT JOIN wp_usermeta AS lastmeta
ON
wp_users.ID = lastmeta.user_id AND lastmeta.meta_key = 'last_name'
LEFT JOIN wp_usermeta AS rolemeta
ON
wp_users.ID = rolemeta.user_id AND rolemeta.meta_key = 'wp_2_capabilities'
LEFT JOIN wp_2_wpcw_user_progress AS unitprogress
ON
wp_users.ID = unitprogress.user_id AND unitprogress.unit_completed_status = 'complete'
WHERE
rolemeta.meta_value REGEXP 'gs_atlanta|gs_charleston|gs_greenvilee|gs_nashville'
ORDER BY
wp_users.ID;