zoukankan      html  css  js  c++  java
  • 终于学会了Access全站搜索(产品表、新闻表混合)(图片)

    这是今天的大喜事!

    我企盼已经久的一个问题终于得到解决了!

    以前需要对一个企业网站进行全站搜索的时候,如果是sql server,那就用临时表,把产品表和新闻填充到临时表然后再从临时表中搜索,如果是access,那就没有办法了,因为很多资料都说了access不支持临时表。

    昨天下午,在用asp.net做一个access的项目,其中Repeater不支持分页,access也不支持存储过程。DataSet也不支持分页,最后只好在sql语句上寻找办法了。经过反复的研究,最后找到一个办法并且成功通过了。在这个过程中,用到一个UNION,在这个应用中,UNION是把同一个表的两个查询结果合并在一起的。我在反复的思考过程中想到了,能不能把两个不同的表合并到一起呢?

    想过了之后,就决定动手做一下,找到以前某个网站的数据里,里面有[News]和[Products]两个表。然后分别从两个各自取出几个字段尝试合并,第一次出现个问题,就是两个查询的列数不同,不能合并,这是我的疏忽,改正之后竟然成功了。心中大喜。马上继续试验,再用AS添加了一个名称为‘t’的列,用来标识每一列的来源,因为,对于这两个表的数据查询结果虽然需要合并,但是查询之后再显示到网页上,点击之后应该链接到不同的程序上显示详细的地址,所以还要是需要区分的。于是最后的结果就是下面这条:

    select Id,[P_Name],[P_Update],'product' AS t From [product]
    UNION ALL
    select id,N_title,N_Update,'news' AS t From [News]

    需要注意的就是,这样的结果,会是4列,4列的名称分别是id,P_Name,P_Update,t。N_title这个名称就不再使用了。所以是下面的结果

    如果想要得到更理想的结果那就给列用AS起上相应的别名:

    select Id,[P_Name] AS [Title],[P_Update] AS [PubDate],'product' AS t From [product]
    UNION ALL
    select id,N_title,N_Update,'news' AS t From [News]

  • 相关阅读:
    hdu 5224 Tom and paper 水题
    2015 UESTC 搜索专题N题 韩爷的梦 hash
    2015 UESTC 搜索专题M题 Palindromic String 马拉车算法
    2015 UESTC 搜索专题K题 秋实大哥の恋爱物语 kmp
    2015 UESTC 搜索专题J题 全都是秋实大哥 kmp
    2015 UESTC 搜索专题F题 Eight Puzzle 爆搜
    2015 UESTC 搜索专题E题 吴队长征婚 爆搜
    2015 UESTC 搜索专题D题 基爷的中位数 二分
    2015 UESTC 搜索专题C题 基爷与加法等式 爆搜DFS
    2015 UESTC 搜索专题B题 邱老师降临小行星 记忆化搜索
  • 原文地址:https://www.cnblogs.com/xpnew/p/1366001.html
Copyright © 2011-2022 走看看