2014-11-22 78 views
0

當我查詢表「class_attendance」時。如何在datagridview的單行多列中插入多行記錄

select rollno, name, fname, date, attandance from class_attendance where class = '6th' and month = 'November' 

我明白了。

rollno name   fname  date  attandance  
111  zeeshan  Khan  2013-11-08  P 
111  zeeshan  Khan  2013-11-09  P 
111  zeeshan  Khan  2013-11-28  A 
112  ahmad   Ali  2013-11-28  P 

而我想在datagridview中像這樣顯示它(日期明智)。

rollno  name   fname  8  9  28 
111  zeeshan  Khan  P  P  A 
112  ahmad   Ali      P 

何應該這樣做嗎?

+0

這就是所謂的'樞軸' – 2014-11-22 11:50:03

+0

那麼我怎麼能解決它? – Loyal 2014-11-22 11:50:57

回答

0

試試這個: -

select rollno,name,fname,[8],[9],[28] 
FROM 
(
    select rollno,name,fname, DATEPART(d,[date]) enterdate,attandance 
    from students 
)first 
PIVOT 
(
    MAX(attandance) 
    FOR [enterdate] 
    IN ([8],[9],[28]) 
) 
as pivottable 

這是給我下面的輸出: -

enter image description here

然後,您可以在你的GridView顯示此數據。

+0

但整個月呢? – Loyal 2014-11-22 15:56:08

+0

作爲出席將標記每一天。 – Loyal 2014-11-22 15:56:28

+0

@Loyal - 那麼顯然'SQL Pivot'不是一個好選擇!你沒有在你的問題中提到過。整整一個月,你不覺得你的網格會太大嗎? – 2014-11-22 16:07:43