C# 计算SQL结果并输出结果数据
我试图做的是,计算这个SQL语句中的行数,并希望将数据检索到C# 计算SQL结果并输出结果数据,c#,asp.net,sql,select,count,C#,Asp.net,Sql,Select,Count,我试图做的是,计算这个SQL语句中的行数,并希望将数据检索到中继器中。这是ASP.NET/C 似乎不起作用,我将继续得到错误“在中继器中不包含'THEN MY FIELD NAME' 编辑: 中继器代码 <asp:Repeater ID="customerOrdersRepeater" runat="server"> <HeaderTemplate> <table> <tr> <td><b>C
中继器中。这是ASP.NET
/C
似乎不起作用,我将继续得到错误“在中继器中不包含'THEN MY FIELD NAME'
编辑:
中继器代码
<asp:Repeater ID="customerOrdersRepeater" runat="server">
<HeaderTemplate>
<table>
<tr>
<td><b>Customer name</b></td><td><b>Customer adresse</b></td><td>Numbers of orders</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# Eval("customer_name") %></td><td><%# Eval("customer_adresse") %></td><td><%# Eval("numbersOfOrdres") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
客户名称客户地址订单数量
您需要使用分组依据
对结果进行聚合。看起来您希望每个唯一的客户/客户地址都有一行。因此,假设这些地址保存在客户名
和客户名
中,则您的查询将是
SELECT customers.name AS customer_name, customers.adresse AS customer_adresse,
COUNT(*) AS 'numbersOfOrdres'
FROM customers
INNER JOIN orders ON customers.customer_id = orders.order_customer_id
GROUP BY customers.name, customers.adresse
您需要使用分组依据
对结果进行聚合。看起来您希望每个唯一的客户/客户地址都有一行。因此,假设这些都保存在客户中。name
和customers.adrese
您的查询将是
SELECT customers.name AS customer_name, customers.adresse AS customer_adresse,
COUNT(*) AS 'numbersOfOrdres'
FROM customers
INNER JOIN orders ON customers.customer_id = orders.order_customer_id
GROUP BY customers.name, customers.adresse
如果我明白你想做什么,我想你需要使用一个小组
这就是我认为你想看到的
Customer 1, customer_1_address, 3
Customer 2, customer_2_address, 1
Customer 3, customer_3_address, 5
假设有3个客户,分别有3个、1个和5个订单
如果是这样的话,一群人很可能会得到你想要的
select
customer_name,
customer_address,
count(*)
from
customers
join
orders
on customers.cust_id = orders.cust_id
group by customer_name, customer_address
可能有更有效的方式来说明group by,即在su查询中对客户id进行分组,然后加入该查询以获取客户名称和地址。假设上述选择对您有效,但我会留给您自己进一步的改进。如果我了解您正在尝试做的事情,我认为您需要使用group by
这就是我认为你想看到的
Customer 1, customer_1_address, 3
Customer 2, customer_2_address, 1
Customer 3, customer_3_address, 5
假设有3个客户,分别有3个、1个和5个订单
如果是这样的话,一群人很可能会得到你想要的
select
customer_name,
customer_address,
count(*)
from
customers
join
orders
on customers.cust_id = orders.cust_id
group by customer_name, customer_address
可能有更有效的方法来说明group by,即在su查询中对cust_id进行分组,然后加入其中以获取客户名称和地址。假设上述选择对您有效,但我将留给您自己进一步改进。以防万一。您的字段名称正确吗?客户地址是的,只是双重检查ked:DDid您在DB上运行脚本吗?是否有效?能否提供您得到的完整错误?尝试删除'as',如果它是SQL ServerSystem.Web.HttpException:DataBinding:'System.Data.DataRowView'不包含名为'customer\u name'的属性。以防万一。您的字段名正确吗?customer\u Address是的,只是双重检查:DDid您在DB上运行脚本?是否有效?您能提供您得到的完整错误吗?尝试删除'as',如果它是SQL ServerSystem.Web.HttpException:DataBinding:'System.Data.DataRowView'不包含名为'customer_name'的属性。这也有效,但是Smirkin刚才回答了相同的问题:D谢谢tho!这也有效,但是Smirkin刚才回答是一样的:谢谢!