标题:asp + access 多表查詢的問題
只看楼主
xunmi_love
Rank: 2
等 级:论坛游民
帖 子:204
专家分:18
注 册:2006-10-14
结帖率:57.14%
 问题点数:0 回复次数:10 
asp + access 多表查詢的問題
<%
  set conn=server.createobject("adodb.connection")
  conn.open"driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("data\mynews.mdb")
  set rs=server.CreateObject("adodb.recordset")
  ssql="select rechecklist.REnames,userss.names where REnames.liyong=names.liyong"
  rs.open ssql,1,1
  if rs.eof then
  response.write"<tr><td>現在沒有回複</td></tr>"
  response.end()
  end if
  do while not rs.eof
  %>
  <tr>
  <td rowspan=2>註冊名:<%=rs("names")%><br>真實名:<%=rs("TruName")%><br>姓 別:<%rs("UserSex")%><br>愛 好:<%=rs("UserLove")%></td>
  <td height="20" align="center">回複的內容</td>
  <td><%=rs("REneirong")%></td>  
  </tr>
  <%
  rs.movenext
  loop
  rs.close
  ssql.close
  conn.close
%>
搜索更多相关主题的帖子: access asp server driver set 
2007-11-24 13:03
xunmi_love
Rank: 2
等 级:论坛游民
帖 子:204
专家分:18
注 册:2006-10-14
得分:0 
ADODB.Recordset (0x800A0BB9)
引數中可能發生類型錯誤、超過可接受的定義範圍、或與其他引數發生衝突。

低頭做人,擡頭做事。
2007-11-24 13:08
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
得分:0 
from子句没有

多表查询要用left join,right join,inner join其中之一

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-11-24 13:28
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
得分:0 
楼主现在只查询了两个字段,如何得到下面的字段值呢?
 <td rowspan=2>註冊名:<%=rs("names")%><br>真實名:<%=rs("TruName")%><br>姓 別:<%rs("UserSex")%><br>愛 好:<%=rs("UserLove")%></td>
  <td height="20" align="center">回複的內容</td>
  <td><%=rs("REneirong")%></td>
2007-11-24 15:14
xunmi_love
Rank: 2
等 级:论坛游民
帖 子:204
专家分:18
注 册:2006-10-14
得分:0 
asp + access 多表查詢的問題
可否求一個多表查詢的例子來參考一下

低頭做人,擡頭做事。
2007-11-24 16:17
xunmi_love
Rank: 2
等 级:论坛游民
帖 子:204
专家分:18
注 册:2006-10-14
得分:0 
asp + access 多表查詢的問題
也就是說多表查詢的時候,所有要用到的字段都要放在select的後面是不?:) :) :)

低頭做人,擡頭做事。
2007-11-24 16:19
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
得分:0 
原帖由 xunmi_love 于 2007-11-24 16:19 发表 [url=http://bbs.][/url]
也就是說多表查詢的時候,所有要用到的字段都要放在select的後面是不?:) :) :)

当然,你要把查询的字段都放在select后面,也可以用通配符*,这两个做法效果一样的,前一种的效率稍高一些,(如果数据库的字段不是太多的情况)。
把你的需要列一下,这样大家才好根据你的要求来帮你分析。
2007-11-24 16:31
xunmi_love
Rank: 2
等 级:论坛游民
帖 子:204
专家分:18
注 册:2006-10-14
得分:0 
原帖由 xunmi_love 于 2007-11-24 13:03 发表 [url=http://bbs.][/url]

  
  註冊名:真實名:姓 別:愛 好:
  回複的內容
   
  
   


正好上面所說的.我有兩個表.一個是REchecklist.     一個是userss

userss 表中放的是一些註冊用戶的信息.如:names,Trunames,Usersex,Userlove等信息....
REchecklist表中放的是對於代辦事項的回複情況:如:REneirong,REnames

他們都有一個共同的字段那就是:names.value=REnames.value
想通過這兩個相同的字段來找到上面列出的信息.


剛才樓上所說的是不是這樣:

 ssql="select rechecklist.REnames,rechecklist.reneirong,userss.names userss.TruName,userss.usersex,userss.userlove, where REnames.liyong=names.liyong"

把所有要找的字段都放在select的後面!>>>

低頭做人,擡頭做事。
2007-11-24 16:49
ming206
Rank: 2
来 自:重庆
等 级:等待验证会员
威 望:3
帖 子:545
专家分:7
注 册:2005-8-2
得分:0 
a,b,c,d四个表
方法一:
select a.*,b.*,c.*,d.* from  a,b,c,d where 跟上你的条件
方法二:

select a.*,b.*,c.*,d.*
from a
//如果允许左连接的表是null,选择用left outer join(通常是一对多,外键可为无) ,否则 用inner join(通常是一对一外键不可空)
Left outer join b On a.某某=b.某某
Left outer Join c On
........................
where 你的条件
//如果是先做b和c的连接再跟a可以这样:
 select a.*,b.*,c.*,d.*
from a
Left outer 或 inner   
Join
(
b left outer join c on b.某某=c.某某
)
On 条件

还有更复杂的呢,根据实际情况而定^...........

外贸综合平台:E贸通
2007-11-24 17:17
xunmi_love
Rank: 2
等 级:论坛游民
帖 子:204
专家分:18
注 册:2006-10-14
得分:0 
謝謝了.

低頭做人,擡頭做事。
2007-11-29 10:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-188057-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.769458 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved