2013-07-11 57 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