作者jscorpio1 (我 天蠍)
看板Database
標題[SQL ] 取出簽到退時間
時間Wed Oct 21 23:02:18 2015
資料庫名稱: 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://webptt.com/m.aspx?n=bbs/Database/M.1445439742.A.D87.html
1F:→ moyasi: 報名記錄跟簽退到記錄的關聯不可能只有userid吧 10/22 09:58
2F:→ jscorpio1: 還有actno,所以JOIN C的條件要改成actno嗎? 10/22 14:40