ここで解決したものと同様の問題がありますが、解決策を試すと、設定が異なるため失敗すると思います..
私は doc テーブルを持っています... (残念ながら古いシステムのため、テーブルを編集することはできません)
+-------+--------+----------+--------+
| Docid | title | revision | linkid |
+-------+--------+----------+--------+
| 1 | docone | 1 | 1 |
| 2 | doctwo | 1 | 2 |
| 3 | docone | 2 | 1 |
|4 | docone | 3 | 1 |
+-------+--------+----------+--------+
すべてのドキュメントを一覧表示するページで、各ドキュメントの最新のリビジョンのみを一覧表示したいと考えています。たとえば、Doc1 はリビジョン 3 にあるため、他の 2 ではなく 1 つが必要です。Doc2 はリビジョン 1 のみにあるため、その 1 つを表示します。
他の投稿の問題に基づいて、次のようにクエリを書きました......
$query_docs = "
SELECT `document`.*, doctype.*
FROM `document`
INNER JOIN doctype
ON `document`.iddoctypes = doctype.iddoctypes
WHERE `document`.revision = (
SELECT MAX(`document`.revision) AS revision
FROM `document`
)
GROUP BY `document`.linkid
ORDER BY `document`.doccreation DESC";
ドキュメントの種類を取得するために、別のテーブルにリンクする必要がありました (クエリを難しくするため)。