[SQL ] 取出簽到退時間

看板Database作者 (我 天蠍)時間10年前 (2015/10/21 23:02), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
資料庫名稱: mysql 資料庫版本: 5.5.x 內容/問題描述: 活動報名系統,要撈出某一場活動,有出席的人,的簽到退紀錄 最終頁面要顯示出 帳號 姓名 簽到退時間 總計時間 ppp 張三 10:00 11:00 1 hr kkk 李四 10:10 10:40 0.5 hr 假設活動代號actno=2 table A - 帳號資料 userid, username, ....... table B - 報名紀錄 enrollno, actno, userid, allowed table C - 簽到退紀錄 attendno, userid, actno, record 目前的語法是 SELECT A.userid, A.username c.record FROM A JOIN B ON A.userid = B.userid JOIN C ON B.userid = C.userid WHERE B.actno=2 AND B.allowed=1 上面這段的顯示結果是 ppp 張三 10:00 ppp 張三 10:00 ppp 張三 10:00 ppp 張三 11:00 ppp 張三 11:00 ppp 張三 11:00 kkk 李四 10:10 kkk 李四 10:10 kkk 李四 10:10 會印3次,後來加了GROUP BY才只印1次 請問我的語法對嗎? 不對的,該如何下呢? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.235.128.220 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1445439742.A.D87.html

10/22 09:58, , 1F
報名記錄跟簽退到記錄的關聯不可能只有userid吧
10/22 09:58, 1F

10/22 14:40, , 2F
還有actno,所以JOIN C的條件要改成actno嗎?
10/22 14:40, 2F
文章代碼(AID): #1M9wZ-s7 (Database)