我想使用SQLite來計算多對多關係(tag-tags-post)中表的一行的子集。我曾嘗試下面的SQL沒有運氣:限制多個表加入的內容
SELECT tag.*, count(post.id)
FROM tag
JOIN tags
ON tag.id = tags.tag_id
JOIN post
ON post.id = tags.post_id
AND datetime(post.published) < datetime('2012-08-08 12:42:41.696451')
GROUP BY tag.id, tag.name, tag.description, tag.slug
ORDER BY tag.name
我曾嘗試移動條件爲WHERE
條款但這改變不了什麼。沒有條件,結果如預期顯示。
編輯1
就OT是明確的,通過移除AND
條件我得到的結果,儘管與post
所有行,符合市場預期。此外,以下查詢
SELECT count(post.id)
FROM post
WHERE datetime(post.published) < datetime('2012-08-08 12:42:41.696451')
提供正確的結果。
EDIT 2
有沒有在標籤表中的數據錄入錯誤。該查詢現在工作正常。向所有人道歉。投票刪除。
你不能做WHERE GROUP BY。我認爲這是一個錯字? – podiluska 2012-08-08 13:00:55
確實,我已經刪除了那個。謝謝。 – NobRuked 2012-08-08 13:05:08
@ypercube沒有返回結果。 – NobRuked 2012-08-08 14:22:28