sql Query选择每个引用的三个id

时间:2013-05-15 12:44:39

标签: c# html sql database

我正在使用SqlDataSource来恢复要在下拉列表中显示的数据。每个下拉列表的标题是品牌,在下拉列表中我希望每个品牌的三个产品被带回来。

<asp:SqlDataSource ID="Categories" runat="server" ConnectionString="<%$ ConnectionStrings:Categories %>" SelectCommand="SELECT * FROM CATEGORY WHERE CategoryID <5"></asp:SqlDataSource>
<asp:ListView ID="ListView2" runat="server" DataSourceID="Categories">
<LayoutTemplate>
    <ul>
    <asp:PlaceHolder ID="itemPlaceHolder" runat="server"></asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
    <asp:SqlDataSource ID="images" runat="server" ConnectionString="<%$ ConnectionStrings:Categories %>" SelectCommand="SELECT * FROM ITEM ORDER BY Category_ref"></asp:SqlDataSource>
    <li id="<%# Eval("CategoryName") %>">
    <a href="<%# Eval("CategoryName", "{0}.aspx") %>"><%# Eval("CategoryName") %></a>
    <div class="dropDown">
        <div class="listItem">
        <asp:ListView ID="listview3" runat="server" DataSourceID="images">
            <LayoutTemplate>
            <asp:PlaceHolder ID="itemPlaceHolder" runat="server"></asp:PlaceHolder>
            </LayoutTemplate>
            <ItemTemplate>
            <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("ItemID","Product.aspx?id={0}") %>'>
                <p class="<%# Eval("Category_ref", "brand{0}") %>">
                <asp:Image ID="image" CssClass="dropImg" runat="server" ImageUrl='<%# Eval("PhotoPath", "images/products/{0}") %>' />
                <br />
                <span><%# Eval("ItemName") %></span>

                <%# Eval("ItemID").ToString() %>
                </p>
            </asp:HyperLink>
            </ItemTemplate>
        </asp:ListView>
        </div>
    </div>
    </li>
</ItemTemplate>
</asp:ListView>

这是我的整个导航,其中包含从数据库返回的品牌名称以及产品信息。

第二个SqlDataSource查询是我需要修复的地方,所以它只选择3个产品。如果有第四个,它会将其遗漏。

1 个答案:

答案 0 :(得分:3)

在SQL Server中:

SELECT TOP 3 * FROM ITEM ORDER BY Category_ref

在MySQL中:

SELECT * FROM ITEM ORDER BY Category_ref LIMIT 3

您应始终使用您的问题指定您选择的数据库,并将问题简化为最重要的(所有ASP代码都无关紧要,只会让人们从您的问题中感到害怕)。