tsql - 如何在 IN 子句中每次出现 Id 获取一行?
问题描述
鉴于我有一个重复的 id 列表,我需要获取一些额外的数据来填充 xls 电子表格,我该怎么做。“IN”子句仅返回 1 个匹配项,但每次出现 Id 时我都需要一行。我看着 PIVOT,认为我可以创建一个选择列表,然后进行内部连接。
Select m.Id, m.LegalName, m.OtherId
from MyTable m
where m.OtherId in (1,2,1,1,3,1,4,4,2,1)
解决方案
您可以使用VALUES
子句:
SELECT t.id as OtherId, m.id, m.LegalName
FROM ( VALUES (1),(2),(1),(1),(3),(1),(4),(4),(2),(1)
) t(ID) INNER JOIN
MyTable m
ON m.OtherId = t.id;
推荐阅读
- database - 如何在父表中实现与子表的继承关系
- r - 使用特定公式仅替换 xts 对象列中的 NA 值
- rdf - 允许物化的 RDF 三重存储
- excel - VBA:清除多个不连续的单元格
- python-3.x - 如何避免读取 pandas.read_excel 中的空行
- laravel - 运行作业的用户与网络服务器(apache)用户之间的 Laravel 文件权限不兼容
- c - 未声明的 'yylex' 和 'yyin'
- javascript - 如何从Ruby变量存储在Javascript中的localStorage
- android - 使用导航组件在不同图形之间导航
- tfs - Azure Devops 指定较短的路径错误