首页 > 解决方案 > 在 SQL 选择子句中使用子查询返回多行

问题描述

当您的子查询没有连接/键字段时,有没有办法在 SQL 选择子句中返回多行?我的查询目前看起来像这样。当用户和合同之间没有密钥时,我想返回用户列表和合同列表。

有少数用户,但有很多合同,我想在每个用户 ID 旁边生成每个合同 ID 的列表。

select 
userid,
(select contractid from contracts) as contractid
from users

这里是新的,但是交叉连接的建议做了我想要的。谢谢!

标签: sql-servertsql

解决方案


您可以通过执行 a来生成userswith的所有可能组合。例如:constractsCROSS JOIN

select 
  u.*,
  c.*
from users u
cross join contracts c

然后,您可以WHERE <condition>根据需要通过附加来过滤结果。


推荐阅读