私のDBには、特定のプロジェクトに関する情報が含まれています。各プロジェクトは複数の部分で構成されており、各部分には1つ以上のフォトギャラリーがあります。1つのクエリだけを使用して、特定のプロジェクトに関連付けられているプロジェクトパーツ、ギャラリー、写真の数を数えることができるかどうかを知りたいです。現在、システムには3つのパーツ、5つのギャラリー、302枚の写真からなる1つのプロジェクトがあります。
このクエリ(ここではSOの多くの人に感謝します)は、プロジェクトごとのパーツ数(現在は3)をカウントするために正常に機能します。
// count number of parts per project
$conn = dbConnect('query');
$galNumb = "SELECT COUNT(*) FROM pj_parts WHERE pj_id = ?";
$stmt = $conn->prepare($galNumb);
$stmt->bind_param('i', $project);
$stmt->bind_result($galTotal);
$stmt->execute();
$stmt->store_result();
$stmt->fetch();
これを変更して、パーツの数(pj_part)だけでなく、それぞれのテーブルのギャラリーと写真の数もカウントできますか?クエリを合理化し、コードを効率化する方法について詳しく学ぼうとしています。どんな助けでも心から感謝します。
アップデート:
ここでテーブル構造のフォーマットを行う方法はわかりませんが、ここではプレーンテキストです。
pj_parts
pj_part_id (primary key)
pj_id (project number)
pj_part (part number within project)
pj_part_galleries
pj_gallery_id (primary key)
pj_id (project number)
pj_part (part number within project)
pj_gallery (gallery number)
pj_photos
pj_photo_id (primary key)
pj_id (project number)
pj_part (part number within project)
pj_gallery_number
これがお役に立てば幸いです。そうでない場合は、再フォーマットする方法を教えてください。