設想一所大學,學生通過網站在線註冊課程。 每門課程可能有一個指定的最大數量的入學學生,入學是根據誰先註冊。 。 例如,在與15個可用座位,只有誰註冊的第一個該課程通過網站將獲得的15名學生的「藝術」類MySQL:根據先到先得的原則分配學生中有限的座位
基本上有三種MySQL表: 用戶(其實學生UID作爲唯一的用戶ID) 課程(課程規範像標題和班級大小; cid(course id)是主鍵) links_users_courses(將包含三列uid,cid,reg_date,其中reg_date是反映用戶何時使用的日期時間變量uid註冊課程cid)
我現在正在尋找一個MySQL解決方案來顯示給用戶A(uid = 100)的問題不僅是他試圖獲得座位的所有課程的列表中,這將沿着
select cid,coursetitle from links_users_courses left join courses using(cid) where uid=100
線條簡單明瞭,但他也無論是在課程獲得與否,這就是他的時間排序位次是否爲每門課程的指定班級規模以下。
最後,他應該顯示三列:課程ID(cid),coursetitle和狀態(入伍,等候名單),等候名單意味着他超過了某個班級的門檻。
@Galz:自從什麼時候作業標籤不被允許了?它現在有6623個條目。 – Konerak 2011-02-24 14:15:54
嗨,我使用PHP 5.3作爲過程語言。我很樂意看到你引用的任何(或兩種)類型的解決方案,尤其是隻有SQL的版本,這對我來說可能更難以自己弄清楚,然後是程序性問題。 – Steve06 2011-02-26 11:43:44