以文本方式查看主题
- Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2)
---- [求助]查询表的条件 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=20510)
|
-- 作者:ttzb2000
-- 发布时间:2012/6/11 10:35:00
-- [求助]查询表的条件
情况如下:
表1
序号 |
名称 |
编号 |
类别 |
1 |
鱼罐 |
001 |
罐头 |
2 |
香肠 |
002 |
肉类 |
3 |
娃哈哈 |
003 |
饮料 |
4 |
可乐 |
004 |
饮料 |
表2
序号 |
编号 |
有效期 |
1 |
001 |
2011-12-12 |
2 |
002 |
2012-04-07 |
3 |
004 |
2011-09-09 |
4 |
003 |
2012-03-03 |
5 |
002 |
2013-04-07 |
6 |
003 |
2012-12-12 |
7 |
001 |
2012-12-12 |
以上两个表依据编号关联,如何用查询表使以上数据查询后结果为
序号 |
名称 |
编号 |
类别 |
有效期 |
1 |
鱼罐 |
001 |
罐头 |
2012-12-12 |
2 |
香肠 |
002 |
肉类 |
2013-04-07 |
3 |
娃哈哈 |
003 |
饮料 |
2012-12-12 |
4 |
可乐 |
004 |
饮料 |
|
就是当有两个有效期时只显示最晚的日期。而日期已经超了的不显示
|
-- 作者:ttzb2000
-- 发布时间:2012/6/11 11:26:00
--
没有人知道如何操作吗?
|
-- 作者:狐狸爸爸
-- 发布时间:2012/6/11 13:07:00
--
这个挺复杂的,用sql语句的高手才行,帮你顶一下。
搞不定的话,也可以直接生成一个查询表,然后加一个标志列,用代码来筛选。
|
-- 作者:ttzb2000
-- 发布时间:2012/6/11 14:17:00
--
谢谢你的提示。我试试
|
-- 作者:zhangqinyun
-- 发布时间:2012/6/11 14:22:00
--
用SQLJoinTableBuilder查询合并 表1和表2
然后分组统计MAX(日期)
这样可以吗??
|
-- 作者:ttzb2000
-- 发布时间:2012/6/11 14:39:00
--
以下是引用zhangqinyun在2012-6-11 14:22:00的发言:
用SQLJoinTableBuilder查询合并 表1和表2
然后分组统计MAX(日期)
这样可以吗??
有代码可以发了看看吗?
|
-- 作者:don
-- 发布时间:2012/6/11 14:55:00
--
试试: Dim tb1 As Table = Tables("窗口1_Table1") Dim d1 As Date = Date.Today Dim sql As String sql ="Select a.*,b.有效期 From {表1} a INNER JOIN (Select 编号,Max(iif(有效期 > #" sql+=d1 & "#, 有效期, Null)) As 有效期 From {表2} Group By 编号) b on a.编号 = b.编号" tb1.Fill(sql,"",True)
|
-- 作者:lihe60
-- 发布时间:2012/6/11 15:06:00
--
示例二
Dim jb As New
SQLJoinTableBuilder("查询表1","订单") jb.ConnectionName = "Sale" jb.AddTable("订单","产品ID","产品","产品ID") jb.AddTable("订单", "客户ID","客户","客户ID") jb.AddCols("产品名称","客户名称","日期", "数量","单价") jb.AddExp("金额","数量 * 单价") jb.Build() MainTable = Tables("查询表1")
生成的查询表如下图,产品名称列来自于产品表,客户名称列来自客户表,日期、数量、单价和金额来自于订单表,其中金额列是通过数量和单价计算得出的:
|
-- 作者:ttzb2000
-- 发布时间:2012/6/11 15:18:00
--
结果什么都没显示。。。。。不知道什么问题。没有提示语句错误
|
-- 作者:don
-- 发布时间:2012/6/11 15:27:00
--
此主题相关图片如下:001.jpg

|