Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 计算SQL结果并输出结果数据_C#_Asp.net_Sql_Select_Count - Fatal编程技术网

C# 计算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

我试图做的是,计算这个SQL语句中的行数,并希望将数据检索到
中继器中。这是
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刚才回答是一样的:谢谢!