我有一个int
我的表中的列SQL
数据库。
我在这张表中保留了一些代码。
我的代码的示例范围是:(1, 9)。
我不需要在这个范围内使用代码。
Example:
使用的代码是:
Select code from MyTable -- result is 2,6,7,8,9
未使用的代码是:1,3,4,5
现在,我该如何选择这些代码?预期结果是:1,3,4,5
生成您的范围的数字列表(这里我使用VALUES
子句),然后半连接到“used”列表
SELECT
*
FROM
(VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9)) X (Num)
WHERE
NOT EXISTS (SELECT * FROM MyTable M WHERE M.Code = X.Num)
Edit:
您可以将 VALUES 子句替换为任何数字表生成代码。
例子:
- 优化 SQL Server 上的 Numbers 表创建? https://stackoverflow.com/q/4864758/27535
- 创建和填充数字表的最佳方法是什么? https://stackoverflow.com/q/1393951/27535
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)