以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  select没思路了,如何按上表筛选出下面的结果了。。谢谢  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=40481)

--  作者:delxkjhgq
--  发布时间:2013/9/21 16:02:00
--  select没思路了,如何按上表筛选出下面的结果了。。谢谢
姓名 采购商品 数量
张三 机果 10
张三 香焦 20
张三 大麻 30
张三 机果 40
张三 香焦 50
张三 黄瓜 60
张三 黄瓜 70
李四 机果 40
李四 香焦 50
李四 黄瓜 60
李四 黄瓜 70

 

 

 

 

姓名 采购商品 数量
张三 机果 10
张三 香焦 20
张三 大麻 30
张三 黄瓜 70
李四 机果 40
李四 香焦 50
李四 黄瓜 60

 


--  作者:lsy
--  发布时间:2013/9/21 16:28:00
--  

日常工作→数据统计→分组统计。


--  作者:kensou11111
--  发布时间:2013/9/21 16:29:00
--  

前面两列大概能看明白,失取里面姓名和采购商品组合不重复的行,但你数量列取数的条件是什么?


--  作者:lsy
--  发布时间:2013/9/21 16:35:00
--  
Dim s As String = "Select 姓名,采购商品,Sum(数量) As 数量 From {采购表} Group By 姓名,采购商品"
Tables("窗口1_Table1").Fill(s,True)

--  作者:delxkjhgq
--  发布时间:2013/9/21 17:04:00
--  

上面的例子是打个比方,下面是代码,请LSY指点。。谢谢

Dim hgq As WinForm.ComboBox = e.Form.Controls("ComboBox1")
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim drs As List(of DataRow)
cmd.C
cmd.CommandText = "Select 交货单号,行号 From {出库草稿表} Group By 交货单号,行号"
dt = cmd.ExecuteReader()
drs= dt.Select("[交货单号]= \'" & hgq.text & "\'","行号")   估计是我没有说明白,我就想能筛选出交货单号为文本框的值,但行号又不重复的行。。。。
Dim hg As Integer= drs.count * 5   \'\'通过计数可以算出需生成的标签个数
Dim Names As New List(Of String)
Dim Names1 As New List(Of String)
For i As Integer = 0 To drs.Count - 1

 

.........还要对里面的数据进行提取。。。


--  作者:lsy
--  发布时间:2013/9/21 17:27:00
--  
不如把例子传上来喽。
--  作者:有点甜
--  发布时间:2013/9/21 19:24:00
--  
 楼主,你的数量列要得到的数据是什么?不是累加,也不是最大最小,也不是平均值。
--  作者:delxkjhgq
--  发布时间:2013/9/21 19:32:00
--  

我主要是想筛选后,采购商品不重复就可以了,数量不需要考虑,任意一条数据即可。。。


--  作者:有点甜
--  发布时间:2013/9/21 19:42:00
--  
 执行下面的语句,dt就是第二张表了。然后要怎么取值,就怎么取值。

cmd.CommandText = "Select distinct 交货单号,行号 From {出库草稿表}"
dt = cmd.ExecuteReader()
[此贴子已经被作者于2013-9-21 19:41:53编辑过]

--  作者:delxkjhgq
--  发布时间:2013/9/21 19:58:00
--  

谢谢,上午试过这个代码,出错,提示找不到另外一列,我明天来试试,是不是别的问题。谢谢了,有问题明天请教。