發表于:2011-07-05 00:00:00來源:SOUAB.COM人氣:2790
完整查詢
<% 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 %>
其中(zhōng)Hotel中(zhōng)h.ID字段值必須與Meal中(zhōng)的m.HID字值相等的,這是連接兩個表的條件
順便介紹 Inner Join 及 Outer Join
Inner Join 應該是最常用的 Join 方式, 它隻會傳回符合 Join 規則的紀錄
Select <要選擇的字段> From <主要資(zī)料表> <Join 方式> <次要資(zī)料表> [On <Join 規則>]
Select <要查詢的字段> From <Left 資(zī)料表> <Left | Right> [Outer] Join <Right 資(zī)料表> On <Join 規則>
語法中(zhōng)的 Outer 是可以省略的, 例如你可以用 Left Join 或是 Right Join, 在本質上, Outer Join 是 inclusive, 叫它做包容性吧! 不同于 Inner Join 的排他性, 因此在 Left Outer Join 的查詢結果會包含所有 Left 資(zī)料表的資(zī)料, 颠倒過來講, Right Outer Join 的查詢就會包含所有 Right 資(zī)料表的資(zī)料