簡體   English   中英

PHP和MySQL-左加入? SUBQUERY? 通過...分組? -限制1

[英]PHP & MySQL - LEFT JOIN? SUBQUERY? GROUP BY? - LIMIT 1

我已經堅持了一段時間,希望有人能夠提供幫助。

我做了一個簡單的mysql查詢(見下文),它工作正常,但現在我需要更改它以從其他表中檢索其他數據。

這是我的三個表:

會員表

  • ID
  • 名字

認證表

  • ID
  • 會員ID
  • courseID
  • certificationDate

課程表

  • ID
  • 課程名稱
  • 水平

成員可以參加許多課程。 當他們這樣做時,他們將獲得與正確的成員和課程相對應的證書。

課程逐步提高。

我正在嘗試列出所有成員並顯示其最高認證(根據其級別)和課程名稱。

並非所有成員都有認證,但是我仍然需要檢索其數據。

我需要調整以下查詢,以包括用戶的最高認證,並且僅包含最高認證。 我正在努力避免每個成員獲得多個認證。

多年來我一直試圖解決這個問題,所以任何幫助都將是驚人的。 我已經嘗試過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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM