首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >典型的asp嵌套循环sql查询为什么会发生以下情况

典型的asp嵌套循环sql查询为什么会发生以下情况
EN

Stack Overflow用户
提问于 2013-01-08 10:49:36
回答 3查看 1.2K关注 0票数 0

我现在很困惑,如果有人能在这里帮助我,我会很高兴,我希望从table1中选择的值与table2的值一起显示,但table2的输出给了我同样的3条记录,而不是只为sql2输出3条记录。

如果我在sql分析器中输入这两个查询,它就可以正常工作。目标是使用经典的asp在3行单循环中获得sql1和sql1的输出:

代码语言:javascript
复制
line1 rs("firstname") & space(1) & rs("boss")
line2 rs("firstname") & space(1) & rs("boss")
line3 rs("firstname") & space(1) & rs("boss")

过程:我首先要做一个查询( sql1 ),之后是(sql2),这取决于sql1的结果

代码语言:javascript
复制
table1
id| |user| |firstname| |lastname| |acc|
1    user1   firstname1  lastname1 loc1
2    user2   firstname2  lastname2 loc2
3    user3   firstname3  lastname3 loc3
4    user4   firstname4  lastname4 loc1
5    user5   firstname5  lastname5 loc1

table2
id| |boss| |first_name| |username|
1     boss1  boss1email   user1 
2     boss2  boss2email   user2 
2     boss3  boss3email   user3
2     boss4  boss4email   user4
2     boss5  boss5email   user5

sql="select * from table1 where acc='loc1'"
Set rs=dbcon.Execute(sql)
do until rs.EOF
Response.Write rs("firstname")


Set rs1 = server.CreateObject ("adodb.recordset")
sql2="Select * from table2 where username='user1'"
set rs1=dbcon.execute(sql2)
do until rs1.eof

response.write rs1("boss")

rs1.movenext
loop

rs.movenext
loop<
EN

回答 3

Stack Overflow用户

发布于 2013-01-08 11:01:06

为什么不呢:

代码语言:javascript
复制
SELECT t1.firstname, t2.boss FROM table1 t1
JOIN table2 t2 on t1.user = t2.username
WHERE t1.acc ="loc1"
票数 0
EN

Stack Overflow用户

发布于 2013-01-08 12:45:30

我已经使用了view函数,并保存了它,并使用asp调用它。

票数 0
EN

Stack Overflow用户

发布于 2013-01-08 22:38:46

在您的代码中,您似乎需要替换此行中的

代码语言:javascript
复制
sql2="Select * from table2 where username='user1'"

带有一些对rs的引用的'user1‘(“用户名”)。使用您拥有的代码,对于table1的每一条记录,您将从table2获得相同的记录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14207488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档