わかりました、あきらめます。このクエリは私の頭の中にあります。助けを求めています。
MySQL データベース内には、標準のブログ システムと同様に、カテゴリと投稿テーブルがあります。
tblCategories (intID (PK), strTitle)
tblAreas (intID (PK), strName)
tblPosts (intID (PK), intCategoryID (FK), strTitle, htmlText)
次に、ブログをサポートするテーブルがいくつかあります。
tblExternalLinks (intID (PK), intPostID (FK), strTitle, urlLink)
tblComments (intID (PK), intPostID (FK), strComment)
tblImages (intID (PK), intPostID (FK), urlImage)
tblLocations (intID (PK), intPostID (FK), intAreaID (FK), urlImage)
カテゴリ変数 (疑似 php コードで言いましょう) $intCatID に関連付けられているすべての投稿のリストが必要で、特定のエリア変数 $intAreaID を持つ場所があります。この SQL は次のようになります。
SELECT tblPosts.* from tblPosts INNER JOIN tblLocations ON tblLocations.intPostID=tblPosts.intID WHERE intCategoryID=$intCatID AND intAreaID=$intAreaID GROUP BY tblPosts.intID;
これが正しいかどうか誰か教えてください。GROUP BY 部分についてはよくわかりません。
同じリストが必要ですが、今回はサポート テーブル内の他のすべての添付レコードのカウントを使用します。
SELECT tblPosts.*, intExternalLinksCount, intCommentsCount, intImagesCount, intLocationsCount ...
私の最初の推測は、ネストされたテーブルまたは結合を使用してカウントを取得することです。これにより、クエリが非常に大きくなる可能性があります。また、パフォーマンスのために何が速いのだろうか。これらのことは、私が頭をぶつけるところです。
そして、答えは非常に高く評価されています...