主页“最近更新”效果:多表查询按时间排列的解决办法

hacker18 2008-01-26 02:48:21
前言:
因为工作需要,需要在首页上设计“最近更新”,涉及20多张表,客户要求显示10条最近发布的信息(汇集大部分数据表的最新记录合成一个记录集,并按照发布时间降序排列)。互联网上相关的技术资料比较少,也测试了不少代码,效果很不理想。我的设计思路是正确的(详见以下内容的第一步和第二步),但是本人不精通SQL语法,在得到了两份参考资料后,任务一下子就解决了。全程耗时2小时左右(大部分时间用于互联网检索)。
这个解决办法不是原创,只不过是总结和改进了他人的技术而已,在此需要特别感谢他们。如果您认为这个技术不值得一提,那么您就不需要浪费时间往下阅读了;如果您认为这个技术比较实用,并且能够真正地解决同样的问题,那么您阅读下面的内容。这个技术在ASP 3.0+Access 2003里运行完全没有问题。我可以提前做完这个项目了!(-_-)

---------------------------------------------------------------------------------------------------

第一步:获取相应的记录

难题:首页“最近更新”(汇集多个表最新记录)按发布时间降序排列。

参考:http://zhidao.baidu.com/question/19715220.html?si=7

要点:SQL语句采用UNION(过滤重复行)或UNION ALL(显示全部,即不过滤重复行)。

示例:select procreation_id as id,project_name as title,add_date_time from procreation union select research_id,topic_name,add_date_time from research order by add_date_time desc


第二步:打开相应的详细页面

难题:每个表在网站前台都有独立的列表页面和详细页面,点击记录时必须打开对应的详细页面。

参考:http://topic.csdn.net/t/20010324/10/88283.html(使用union合并两个表到记录集对象中以后,怎样判断某行数据是来自哪个表的?)

要点:在SQL语句的字段列表里新增用于识别字段(或记录)所属于表的列。

示例:select 'procreation' as p,procreation_id as id,project_name as title,add_date_time from procreation UNION ALL select 'research' as r,research_id,topic_name,add_date_time from research order by add_date_time desc


=========================================================

测试平台:Windows Server 2003+Office Access 2003

编写时间:黄新水于2008年1月26日12时10分
...全文
119 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
joshuawangzjie 2010-05-15
  • 打赏
  • 举报
回复
太感谢了

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧