2013-07-11 70 views
1

我有这样的SQL命令:添加一个名称来选择

SELECT Jmeno, 
COUNT(CASE WHEN Ucast = 'TRUE' then 1 end) as Pocet_zapasu, 
SUM(CASE WHEN Branky>=0 then Branky end) as branek 
FROM Hraci 
INNER JOIN Ucast_Zapas ON Ucast_Zapas.ID_Hrace_zapas=Hraci.IDHrace 
INNER JOIN Zapas ON Zapas.ID_zapas=Ucast_Zapas.ID_zapasu_ucast 
INNER JOIN Kategorie ON Kategorie.IDkategorie=Zapas.Kategorie_zapas 
WHERE (Zapas.Druh=1) GROUP BY Jmeno 

但是,当我在列表视图中使用这个命令:

<asp:ImageButton ID="Image2" runat="server" ImageUrl="~/Icons/edit.png" PostBackUrl='<%#string.Format("/Default3.aspx?id={0}",Eval("IDHrace"))%>' /> 

我有这样的错误:

DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'IDHrace'. 

因为在sqlcommand缺少Hraci.IDHrace ...但我不知道为什么我给Hraci.IDHrace先前的sqlcommand .. 你有没有你的想法?

回答

2

您的查询不返回IDHrace

你应该包括在您的SELECT声明:

SELECT 
Hraci.IDHrace, 
Jmeno, 
COUNT(CASE WHEN Ucast = 'TRUE' then 1 end) as Pocet_zapasu, 
SUM(CASE WHEN Branky>=0 then Branky end) as branek 
FROM Hraci 
INNER JOIN Ucast_Zapas ON Ucast_Zapas.ID_Hrace_zapas=Hraci.IDHrace 
INNER JOIN Zapas ON Zapas.ID_zapas=Ucast_Zapas.ID_zapasu_ucast 
INNER JOIN Kategorie ON Kategorie.IDkategorie=Zapas.Kategorie_zapas 
WHERE (Zapas.Druh=1) GROUP BY Jmeno, Hraci.IDHRace 
+0

这是我第一次尝试,但我有此错误:列'Hraci.IDHrace'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。 – Kate

+2

@Kate - 将它添加到组中(我更新了我的答案以向您展示如何)。 –

+0

是的,谢谢,现在它OK! :) – Kate

0

你需要在你的SQL语句来选择IDHrace

+0

是的,我知道,我写我的第一篇文章,但我不知道如何... – Kate