我有一個INNER JOIN數據庫調用來根據上次登錄值填充表。刪除Gridview中的重複項:INNER JOIN SQL
SQL是像這樣:
SELECT *
FROM table1
INNER JOIN table2 ON table1.id = table2.id
WHERE table2.lastlog >= '20151124%'
ORDER BY table1.companyName
的問題是,當內,在表2加入的樣子,我也多次在基於查詢登錄的用戶。
所以,當我的gridview被填充時,它顯示了所有這些。如果符合要求,我只想向用戶展示一次。
因此,我試圖用參考http://www.vbforums.com/showthread.php?684370-Datagridview-Remove-Duplicates
像這樣:
For Loop1 As Integer = 0 To DisplaySup.Rows.Count - 2
For Loop2 As Integer = Loop1 + 1 To DisplaySup.Rows.Count - 2
If DisplaySup.Rows(Loop1).Cells(2).Text = DisplaySup.Rows(Loop2).Cells(2).Text Then
DisplaySup.Rows.RemoveAt(Loop2)
End If
Next
Next
然而,線RemoveAt
給出一個錯誤:Error 325 'RemoveAt' is not a member of 'System.Web.UI.WebControls.GridViewRowCollection'.
我還試圖引用Remove duplication row in gridview像這樣:
DisplaySup.DataSource = Query.GroupBy(x >= x.companyName).[Select](g >= g.First()).ToList()
OR
DisplaySup.DataSource = Query.DistinctBy(Function(i) i.companyName)
,但我沒有看到,其中x
和g
聲明再加上我得到一個標誌錯誤DistinctBy
和GroupBy
不是查詢中的一員。
有什麼建議嗎?
我曾經想過加入DISTINCT
我的SQL,但我不知道該如何當我select *
並在那裏companyName
必須DISTINCT
我還沒有見過'過,但據我瞭解跨Apply' ... SELECT TOP(1)將拉我的第一列在表2,即使我需要DISTINCT列將來自table1。這是我的問題,因爲我需要從表1中選擇全部。我是否正確地閱讀了您的代碼? – narue1992
此外,最後一個登錄值由用戶選擇的文本框填充。這就是爲什麼你看到它 – narue1992
你可以把你的表結構? –