以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]有关INNER JION问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=20565) |
||||||||||||||||||||||||||||||||||
-- 作者:ttzb2000 -- 发布时间:2012/6/12 15:47:00 -- [求助]有关INNER JION问题 如果只是将表2的有效期合并到表1中去,按照帮助里的方法可行的。如果我在表2中增加一列为有效编号,这样的话怎么才能合并到一起去?
请看附件,帮忙一下,如何改好?
合并后显示如下:
|
||||||||||||||||||||||||||||||||||
-- 作者:sloyy -- 发布时间:2012/6/12 17:03:00 -- 问题不是很明确,是想把新的有效期覆盖旧的有效期吗? |
||||||||||||||||||||||||||||||||||
-- 作者:don -- 发布时间:2012/6/13 7:42:00 -- 要学会变通,给你方法可以,但不会一包到底! 另:1.[有效期]应为日期时间型; 2.Fox是数据库,库中不应随便增加空行! Dim tb1 As Table = Tables("窗口1_Table1") Dim sql As String sql ="Select a.序号,a.名称,a.编号,a.类别,b.有效编号,b.有效期 From {表1} a INNER JOIN (Select 编号," sql+ ="Max(iif(有效期 > date() , 有效编号, Null)) As 有效编号,Max(iif(有效期 > date() , 有效期, Null)) " sql+=" As 有效期 From {表2} where 编号 is not null Group By 编号) b on a.编号 = b.编号" tb1.Fill(sql,"",True)
|
||||||||||||||||||||||||||||||||||
-- 作者:ttzb2000 -- 发布时间:2012/6/13 8:19:00 -- 谢谢don,我原先有效编号就直接引用,没有用IIF来筛选,结果运行时老出错。 |