Mysql商品和图片表_终于学会了Access全站搜索(产品表、新闻表混合)(图片)...

这是今天的大喜事! 我企盼已经久的一个问题终于得到解决了! 以前需要对一个企业网站进行全站搜索的时候,如果是sql server,那就用临时表,把产品表和新闻填充到临时表然后再从临时表中搜索,如果是access,那就没有办法了,因为很多资料都说了access不支

这是今天的大喜事!

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

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

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

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

test.jsp?url=http%3A%2F%2Fpic002.cnblogs.com%2Fimg%2Fxpnew%2F200812%2F2008123113175829.gif&refer=http%3A%2F%2Fblog.csdn.net%2Fxpnew%2Farticle%2Fdetails%2F3667476

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这个名称就不再使用了。所以是下面的结果

test.jsp?url=http%3A%2F%2Fpic002.cnblogs.com%2Fimg%2Fxpnew%2F200812%2F2008123113173248.gif&refer=http%3A%2F%2Fblog.csdn.net%2Fxpnew%2Farticle%2Fdetails%2F3667476

如果想要得到更理想的结果那就给列用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]

test.jsp?url=http%3A%2F%2Fpic002.cnblogs.com%2Fimg%2Fxpnew%2F200812%2F2008123113230977.gif&refer=http%3A%2F%2Fblog.csdn.net%2Fxpnew%2Farticle%2Fdetails%2F3667476

test.jsp?url=http%3A%2F%2Fpic002.cnblogs.com%2Fimg%2Fxpnew%2F200812%2F2008123113232121.gif&refer=http%3A%2F%2Fblog.csdn.net%2Fxpnew%2Farticle%2Fdetails%2F3667476

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值