資料庫是 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