海南世纪云图网络科技有限公司
咨询热线:400-822-8458 客户服务:0898-32183600

asp同时满足两个表查询条件(复合查询)

发表于:2011-07-05 00:00:00来源:SOUAB.COM人气:3032

完整查询

<% iArea=request.Form("sArea") iCity=request.Form("sCity") iID=request.Form("sID") iDay=request.Form("sDay") set Rs=server.createobject("adodb.recordset") sql = "Select h.Area,h.Ciyt,h.ID,m.sID,m.HID,m.Day,m.Pic,m.Title From [Hotel] As h Inner Join [Meal] As m On h.ID=m.HID where h.Pass=1 And m.Pass=1 "&sql&"" if iArea<>"" then sql=sql & " and h.Area="&iArea&"" end if if iCity<>"" then sql=sql & " and h.City="&iCity&"" end if if iDay<>"" then sql=sql & " and m.Day='"&iDay&"'" end if Response.Write(""&sql&"") 'Response.End() Rs.open sql,conn,1,1 %>

其中Hotel中h.ID字段值必须与Meal中的m.HID字值相等的,这是连接两个表的条件

顺便介绍 Inner Join 及 Outer Join

Inner Join 应该是最常用的 Join 方式, 它只会传回符合 Join 规则的纪录

Select <要选择的字段> From <主要资料表> <Join 方式> <次要资料表> [On <Join 规则>]

Select <要查询的字段> From <Left 资料表> <Left | Right> [Outer] Join <Right 资料表> On <Join 规则>

语法中的 Outer 是可以省略的, 例如你可以用 Left Join 或是 Right Join, 在本质上, Outer Join 是 inclusive, 叫它做包容性吧! 不同于 Inner Join 的排他性, 因此在 Left Outer Join 的查询结果会包含所有 Left 资料表的资料, 颠倒过来讲, Right Outer Join 的查询就会包含所有 Right 资料表的资料

文章整理: 世纪云图  https://www.yuntop.cc/

以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

版权申明:本站文章部份来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站部份转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。

微信
网站建设
软件业务
网络营销
400电话