掲示板向けクエリ
threadテーブル
no | スレッドNo |
---|---|
title | スレッドタイトル |
resテーブル
no | レスNo |
---|---|
no__thread | スレッドNo |
name | 投稿者名 |
body | 本文 |
datetimes | 日時 |
SELECT A.no AS 'A.no', A.title AS 'A.title', COUNT(res.no__thread), res.datetimes AS 'res.datetimes' FROM thread AS A, res WHERE A.no = res.no__thread AND NOT EXISTS ( SELECT no FROM res WHERE res.datetimes < res.datetimes AND A.no = res.no__thread ) GROUP BY res.no__thread ORDER BY res.datetimes DESC
わざわざ「AS 'A.no'」等しているのは、SQLiteのバージョン(?)によって結果セットのフィールド名にテーブル名が付いたり付かなかったりする現象の回避策。