-1

Web サイトで利用可能なトピックのリストを表示するドロップダウン リストを作成しようとしていますが、各トピックは所属するタイトルのリストにリンクされています。SQL クエリを使用して、このトピックに関連付けられている利用可能なタイトルの数を表示するにはどうすればよいですか.

これは私のテーブルの構造です:

トピックス表

TopicId (int) , TopicTitle (varchar 50)

タイトル表

TitleId (int), Title (varchar 50), TopicId

ドロップダウン リストの構造は次のとおりです。

スポーツ 10

教育 4

...

4

3 に答える 3

3

そのクエリを使用して、必要な情報を取得できます。

SELECT To.TopicTitle, COUNT(Ti.TitleId) as TopicCount
FROM Topics To
INNER JOIN Titles Ti ON To.TopicId = Ti.TitleId
GROUP BY To.TopicId, To.TopicTitle
于 2013-10-14T09:05:41.730 に答える
2

これは、Topics テーブルと結合する Titles テーブルに対する基本的なCOUNTクエリです。

SELECT t.TopicTitle as Topic, Count(tt.TopicID) as TitlesForTopic
FROM Titles tt INNER JOIN Topics t
ON tt.TopicID = t.TopicID
GROUP BY tt.TopicID, t.TopicTitle
ORDER BY COUNT(tt.TopicID) DESC

C#からは基本的に

string cmdText = "...the above query ....";
using(SqlConnection cn = new SqlConnection(....))
using(SqlCommand cmd = new SqlCommand(cmdText, cn))
using(SqlDataAdapter da = new SqlDataAdapter(cmd))
{
    cn.Open();
    DataTable dt = new DataTable();
    da.Fill(dt);
    gridView.DataSource = dt;
    gridView.DataBind();
}
于 2013-10-14T09:05:04.397 に答える
0
SELECT TopicTitle, tt.Count
from Topics t inner join 
   (select count(*) as Count, TopicId 
     from Titles group by TopicId) tt
on t.TopicId = tt.TopicId
于 2013-10-14T09:05:13.293 に答える