4

フォーラムにすべてのカテゴリを表示して、リストを作成しようとしています。カテゴリ名、ID、およびカウントを表示し、このカテゴリに接続されているスレッドの数をカウントします。

完全に機能しますが、結果を2回出力します。

これはSQLです

SELECT categories.category_name, threads.thread_category_id, COUNT(*) 
                        AS 'threadCount' FROM threads 
                        INNER JOIN categories ON categories.category_id = threads.thread_category_id
                        GROUP BY categories.category_name, threads.thread_category_id

これが結果です ここに画像の説明を入力してください

ご覧のとおり、同じものを2回印刷しますが、印刷しないでください。

編集:これがASPです。

<asp:Repeater ID="categories" runat="server">
    <HeaderTemplate>
    <table id="kategorier" cellspacing="0">
        <tr>
            <td class="head">Name</td>
            <td class="head" style="width:70px">Number of Threads</td>
        </tr>
    </HeaderTemplate>
    <ItemTemplate>
        <tr>
            <td class="item"><a href="Kategori.aspx?id=<%# Eval("thread_category_id") %>"><%# Eval("category_name") %> - ID: <%# Eval("thread_category_id")%></a></td>
            <td class="item" style="text-align:right"><%# Eval("threadCount") %></td>
        </tr>
    </ItemTemplate>
    <FooterTemplate>
    </table>
    </FooterTemplate>
</asp:Repeater>
4

2 に答える 2

3

基本的に、ASPが正しい場合、行を複製する場所は2つあります。

1)SQLが間違っています(おそらくDISTINCT演算子を使用する必要があります)

2)C#コードが間違っています(おそらくデータソースを確認する必要があります)

SQLplsを確認してください。そして、C#コードを私たちと共有してください。

これを使って

SELECT distinct  category_name, thread_category_id, threadCount
FROM
( SELECT categories.category_name, threads.thread_category_id, COUNT(*) 
                        AS 'threadCount' FROM threads 
                        INNER JOIN categories ON categories.category_id = threads.thread_category_id
                        GROUP BY categories.category_name, threads.thread_category_id ) A
于 2013-03-06T13:07:14.920 に答える
0

Distinctを使用します。重複するすべての行を削除します

SELECT DISTINCT(threads.thread_category_id), categories.category_name, COUNT(*) 
                        AS 'threadCount' FROM threads 
                        INNER JOIN categories ON categories.category_id = threads.thread_category_id
                        GROUP BY threads.thread_category_id
于 2013-03-06T13:04:34.980 に答える