【发布时间】:2016-11-21 03:48:34
【问题描述】:
我在对表格的列进行分组时遇到问题
Private Sub BindRepeater()
Dim cn As String = ConfigurationManager.ConnectionStrings("db").ConnectionString
Using cs As New SqlConnection(cn)
Using cmd As New SqlCommand("SELECT * from tbl_in_record GROUP BY in_pc_no", cs)
Using sda As New SqlDataAdapter(cmd)
Dim dt As New DataTable()
sda.Fill(dt)
rptTableIn.DataSource = dt
rptTableIn.DataBind()
End Using
End Using
End Using
End Sub
显示此错误
选择列表中的列 'tbl_in_record.in_no' 无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
我的桌子是这样的
in_id in_pc_no
1 abc-def-ghi1-01
2 abc-def-ghi1-01
3 abc-def-ghi1-01
12 abc-def-ghi1-01
13 abc-def-ghi1-01
14 abc-def-ghi1-01
15 abc-def-ghi1-01
【问题讨论】:
-
您希望输出是什么样的?
-
只显示 2 行 101-33X-7104-01 和 101-33X-7014-02 以及其他对应的列值
-
然后仅将
*替换为in_pc_no。*表示您正在选择in_id,这也意味着您不能对in_pc_no进行分组,而不必对in_id进行分组,除非您正在汇总一个字段,而在您的情况下,您没有汇总一个 ID。 -
啊非常感谢..不知道*不能用于分组
-
您仍然可以使用
*。但是您必须在Group By语句中使用*选择表中的所有字段。
标签: asp.net sql-server vb.net