以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]SQL语句 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=48422) |
-- 作者:aaticor -- 发布时间:2014/3/28 15:21:00 -- [求助]SQL语句 表A的列名:计划编码、公司编码、计划起始日期、计划结束日期、申请资金、是否上报、是否归档等。 现想筛选出每个公司最新的计划记录,即每个公司只有一条记录,这条记录是该公司最后上报的计划,可以从起始结束日期判断,但是特殊情况,如某公司某次没报计划,另一情况是每家公司每次计划的日期范围都可以不同(如:A公司本次计划从本月4号至本月11号,但下次不一定只有7天,下次可能是12号至23号不等;B公司的计划,更会参差不齐了,不过一般都是正常情况,每周报一次计划)。 请问,如何用SQL语句进行筛选? 或者,如何用FOXtable实现以上功能。我是希望在窗口打开后就能在表控件中看到结果。 初学者,见笑了,请各位大侠不惜指教! |
-- 作者:狐狸爸爸 -- 发布时间:2014/3/28 15:26:00 -- 用Select语句找出最后上报的,可以看看: http://www.foxtable.com/help/topics/2473.htm
在窗口看到结果的话: http://www.foxtable.com/help/topics/2912.htm
[此贴子已经被作者于2014-3-28 15:27:39编辑过]
|
-- 作者:aaticor -- 发布时间:2014/3/28 17:33:00 -- 嗯,原来在这里。感谢狐爸。。顺问一句,你是狐表之父? |
-- 作者:aaticor -- 发布时间:2014/3/30 11:32:00 -- 感谢狐爸的指导,最后我在窗口的afterload事件中搞定,就两行代码。 Dim csql As String ="Select a.公司编码,c.公司名称,a.计划编码,a.编号,a.计划起始日期,a.计划结束日期,a.已上报,a.已归档,a.期初可用资金,a.编制日期,a.最后修改日期 FROM {周资金计划主表} a inner join ((Select 公司编码,max(计划起始日期) As 计划起始日期,max(计划结束日期) As 计划结束日期 from {周资金计划主表} group by 公司编码) b inner join {下属公司} c on b.公司编码=c.公司编码) on a.公司编码=b.公司编码 And a.计划起始日期=b.计划起始日期 And a.计划结束日期=b.计划结束日期"
|