[英]PHP & MySQL - LEFT JOIN? SUBQUERY? GROUP BY? - LIMIT 1
我已經堅持了一段時間,希望有人能夠提供幫助。
我做了一個簡單的mysql查詢(見下文),它工作正常,但現在我需要更改它以從其他表中檢索其他數據。
這是我的三個表:
會員表
認證表
課程表
成員可以參加許多課程。 當他們這樣做時,他們將獲得與正確的成員和課程相對應的證書。
課程逐步提高。
我正在嘗試列出所有成員並顯示其最高認證(根據其級別)和課程名稱。
並非所有成員都有認證,但是我仍然需要檢索其數據。
我需要調整以下查詢,以包括用戶的最高認證,並且僅包含最高認證。 我正在努力避免每個成員獲得多個認證。
多年來我一直試圖解決這個問題,所以任何幫助都將是驚人的。 我已經嘗試過LEFT JOIN,GROUP BY,子查詢,但無法解決。
謝謝。
// Member Query
$tableMember = $wpdb->prefix . "dmc_diver";
$tableCertifications = $wpdb->prefix . "dmc_certifications";
$tableCourse = $wpdb->prefix . "dmc_course";
$memberQuery = $wpdb->get_results("
SELECT
ID,
firstName,
lastName
FROM
$tableMember
");
這是使用相關子查詢的一種方法:
select m.*,
(select max(co.level)
from certification c join
course co
on c.id = co.courseid
where c.memberid = m.id
) as max_level
from members m;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.