私はC#で1つのWindowsアプリケーションに取り組んでいます.その中で、テーブルレイアウトパネルにカテゴリごとの本の画像を表示したいフォームが1つあります.そして、カテゴリごとに5つの本の画像を表示したい.
カテゴリごとの本を取得するために使用するクエリは
WITH CategoryCTE AS (
SELECT
BookName,
ROW_NUMBER() OVER (
PARTITION BY CategoryName
ORDER BY CategoryName DESC
) AS CTE_Order
FROM BookMaster
)
SELECT bm.BookName,bm.BookImage, cm.CategoryName, scm.SubCategoryName
FROM
CategoryCTE
INNER JOIN BookMaster bm ON CategoryCTE.BookName = bm.BookName
INNER JOIN CategoryMaster cm ON bm.CategoryName = cm.Oid
INNER JOIN SubCategoryMaster scm ON bm.SubCategoryName = scm.Oid
WHERE CategoryCTE.CTE_Order < 6
GROUP BY cm.CategoryName, scm.SubCategoryName, bm.BookName,bm.BookImage
このクエリでは、適切な出力が得られます。つまり、各カテゴリから 5 冊の本が得られます。しかし、問題は、テーブル パネルに本の画像を表示したいということです。行 1 にはカテゴリ 1 の 5 つの書籍の画像があり、行 2 にはカテゴリ 2 の書籍の画像があります。今、データベースには 4 つの書籍のカテゴリがあります。つまり、テーブル レイアウト パネルの行はデータベースのカテゴリ テーブルに依存し、テーブルの列は固定されています。つまり、最初の列はカテゴリ名で、他の 5 列は書籍の画像です。
質問を適切に説明できたことを願っています。これに対する解決策を提案してください。前もって感謝します。