我有3個表:MySQL加入查詢錯誤,我做錯了什麼?
- 用戶
- 項
user_groups
每個用戶可以張貼多個項目的項目表
- 每個用戶都有在user_groups一個記錄,其限定他屬於哪個用戶組(例如新用戶,初級用戶,高級用戶管理員等)
我試圖讓誰符合以下條件的用戶的ID列表:
- 屬於用戶組「3」
- 今天 發佈不到5個項目
這裏是我的查詢:
SELECT u.id, COUNT (i.id) as numPosted
FROM users u, items i
JOIN user_groups on user_groups.userId = u.id
AND user_groups.groupId = '5'
WHERE
i.userId = u.id AND
i.datePosted = CURDATE() AND
numPosted < 5
- 在JOIN,它確保用戶所屬用戶組5
- 而在那裏它檢查的項目屬於用戶ID,而今天的發佈的項目,並公佈項目的數量少於5
當我運行此查詢,我得到這個錯誤:
#1630 - FUNCTION items.COUNT does not exist. Check the
'Function Name Parsing and Resolution' section in the Reference Manual
我在做什麼錯?
'groupId ='3''而不是5?不需要'GROUP BY u.id'嗎?還想知道'COUNT'之後的空間是否有所作爲? – Glenn
檢查空間。顯然它會導致問題。看到這個:http://stackoverflow.com/questions/7840253/sql-count-not-working – Glenn
@Glenn血腥地獄!是的,這是伯爵之後的空間!但是,現在它給出了錯誤:'#1054 - 'where子句'中的未知列'numPosted'。有關於此的任何想法? –