sql - SQL Server:从一个表中为另一个表中的每条记录选择一个记录列表?
问题描述
我目前有一个用户表和一个 Picks(用于足球池)。获得结果时,我运行查询以选择用户,然后在我的代码中遍历该列表,从另一个表中为每个用户选择多个选择。
Picks 表在不同的行上有每个选择,因此:GameID、UserID、Pick。实际上存在与另一个具有 GameID:Week 关系的表的连接,但我可以将其更改为 IN 查询,现在并不担心。
这有点慢和笨重,所以我想知道是否可以通过一次查询整个数据集来加快速度。我很确定我在很久以前的某个地方做过这个,但我找不到我使用的代码。
伪编码类似于:SELECT UserID, (SELECT Multiple GameID, Pick FROM Picks WHERE UserID = @UserID)。IE 我希望将子查询的多行作为主查询中的列返回。只有为子查询选择一个值,这是否真的可行?
解决方案
你不是在找一个join
吗?
select u.*, p.gameid, p.pick
from users u
left join picks p on p.userid = u.user_id
推荐阅读
- bash - 删除同名但扩展名不同的旧文件
- r - 在R中的列表中选择具有列名的列
- python - 如何在 tkinter 中制作浮动框架
- node.js - 如何向特定的登录用户发出套接字 io?
- java - 在不违反一个条件的情况下,计算最多 m 个连续跳跃的数组中元素的最大总和
- javascript - 如何在不重新加载应用程序的情况下更改应用程序路径
- android - Flutter中与图像相关的LateInitializationError
- swift - 意外的合并发布者行为
- java - 当 CustomView 扩展 ConstraintLayout 并在构造函数中使用 ConstraintSet 时,约束不起作用
- python-3.x - 无法在我的服务器上获取已连接客户端的公共 IP