首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在sql查询中应用foreach循环

如何在sql查询中应用foreach循环
EN

Stack Overflow用户
提问于 2021-09-14 09:14:27
回答 1查看 574关注 0票数 1

检查下面的sql查询。在SearchedUserItems表中,有一个名为SearchedUserID的外键列,它是另一个名为SearchedUsers的表中的主键。因此,基本上在这个查询中,我要说的是,给我表SearchedUserItems中的前100个条目,其中的条目具有匹配的来自内部查询列表select top 10 SearchedUserID from SearchedUsersSearchedUserID。因此,这给出了所有前10名SearchedUserID中的前100项,但我的目标是:我希望从每个SearchedUserID中获得与SearchedUsers表匹配的前100项。从当前的查询中,我只获得了100个匹配项,但是我需要从每个匹配的SearchedUserID中从SearchedUsers表中获得100个条目。如何在此查询中应用此for each thing

如果你对问题不清楚,请问我。我尽力解释

代码语言:javascript
运行
复制
select top 100 * from SearchedUserItems where SearchedUserID in (
select top 10 SearchedUserID from SearchedUsers
)

以上查询结果图片

EN

Stack Overflow用户

回答已采纳

发布于 2021-09-14 10:23:50

在我的示例中,您有两个表:A& B。它们连接在表A的id列上,A_id从表B中连接。在您的问题中,您正在为前10条记录中的每一条寻找前100条记录,在我的示例中,我正在为前2条记录寻找前2条记录(我希望您理解这一点.

代码语言:javascript
运行
复制
select *
from ( select A.*
              , ROW_NUMBER() OVER(PARTITION BY id ORDER BY  id DESC) rn
       from A 
       where ID in (select top 2 A_id 
                    from B 
                    group by A_id
                    order by A_id asc)) Table_C
where rn <= 2

在这里,您可以看到执行中的查询:演示

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69175071

复制
相关文章

相似问题

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