【发布时间】:2021-09-14 11:38:32
【问题描述】:
我有一个 5 字段表,我想做一个这样的 qry:
SELECT *
FROM dbo.table
WHERE somefield in (90,120,30,90)
问题是我在表的行中有几个 90、120 和 30 值,但我只想返回符合条件的前 4 行。
有什么简单的方法可以做到这一点吗?我在 SQL Server 2008 上。
CREATE TABLE ForgeRock
([id] int, [somefield] int)
;
INSERT INTO ForgeRock
([id], [somefield])
VALUES
(1, 90),
(2, 90),
(3, 120),
(4, 30),
(5, 30),
(6, 90),
(7, 10),
(8, 20),
(9, 90),
(10, 30),
(11, 20)
;
Fidle with data and query。
预期结果将是90,120,20,90 和他们尊敬的ids。
【问题讨论】:
-
样本数据和预期结果将帮助我们帮助您。此外,SQL Server 2008 已经完全不受支持 2 年(几乎到今天);您现在应该真的正在考虑升级路径。
-
@user1228825 小提琴应该补充问题/答案,但不是必需的。使用 edit 功能将 DDL 和 DML 放入您的问题中,而不是在 cmets 中摆弄。
-
“将 DDL 和 DML 放在你的问题中” @user1228825 不是 只是指向小提琴的超链接.. .
-
对我来说,您问题中的链接也已损坏,所以它真的没有帮助。同样,样本数据和预期结果将帮助我们为您提供帮助。
-
如果你把它复制过去就很奇怪!
标签: sql sql-server sql-server-2008