看板 Database 關於我們 聯絡資訊
資料庫是 Access 2000 請問各位大大,有三個資料表 Group (紀錄群組) GroupId GroupName UserId 1 群組一 0 2 群組二 1 Msg (紀錄訊息) MsgId MsgTitle UserId 1 訊息一 0 2 訊息二 2 GroupMsg MsgId GroupId 1 1 (訊息一是群組一) 2 1 (訊息二是群組一) 我想要統計每個Group各有多少則訊息,而且必須Group.UserId=Msg.UserId 以上面來說,我要的結果是 群組一總共有1則 (因為MsgId=2的Group.UserId不等於Msg.UserId,不算) 群組二總共有0則 SELECT Group.GroupName, ( SELECT COUNT(*) FROM GroupMsg INNER JOIN Msg ON GroupMsg.MsgId = Msg.MsgId WHERE GroupMsg.GroupId = Group.GroupId ) FROM Group 這是我下的SQL,會出現「無效的運算」, 我試過把子查詢那段 WHERE 拿掉就沒錯誤,但是這樣算的是GroupMsg的總筆數, 或者把子查詢的 INNER JOIN 就可以用 WHERE,但是我要結合Msg表看UserId, 請問各位大大要怎麼取得我想要的結果? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.70.99