我希望结果集包含基于外部SELECT
查询的每一行执行的查询的并集。我该怎么做?
举个例子:
create table Person
(
Id int,
Age int
)
create table Movie
(
Id int,
Title varchar(500),
AgeRestriction int
)
我想要一个结果集,向每个人展示哪些人可以观看的电影。
更新:好的,事实证明在TSQL中没有“等效”SelectMany
,因为模型完全不同,因为正确答案的作者指出内部联接将完成工作很好。
答案 0 :(得分:3)
你的问题很不清楚,但听起来你可能想要CROSS APPLY
随机示例
SELECT DISTINCT ca.* /*DISTINCT for UNION semantics*/
FROM master..spt_values v
CROSS APPLY (SELECT TOP 2 *
FROM sys.columns c
WHERE c.name > v.name
ORDER BY c.name) ca
编辑。在澄清之后,您只需要JOIN
SELECT P.Id,
M.Title
FROM Person P
JOIN Movie M
ON M.AgeRestriction <= P.Age