首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Ms Sql select中设置变量

如何在Ms Sql select中设置变量
EN

Stack Overflow用户
提问于 2011-05-27 20:04:35
回答 3查看 90K关注 0票数 20

如何在MS Sql中设置select变量,idea如下所示:

代码语言:javascript
运行
复制
Declare @var int

SET @var = 0;

Select (if(idid = @var) then sum+1 else sum-1) AS Sum,
   set @var = id 
FROM table

根据注释进行编辑。

代码语言:javascript
运行
复制
DECLARE @T TABLE
(
ID  INT PRIMARY KEY,
IDID INT,
SUMM INT 
)

INSERT INTO @T
SELECT 1,1,4 UNION ALL
SELECT 2,1,5 UNION ALL 
SELECT 3,2,6 UNION ALL 
SELECT 4,2,7 UNION ALL 
SELECT 5,3,8

在select结果中,我需要:

代码语言:javascript
运行
复制
ID  IDID  SUMM 
--  ----  ----
1   1     4 
2   1     0 
3   2     6 
4   2     0 
5   3     8
EN

回答 3

Stack Overflow用户

发布于 2011-05-27 20:23:01

这就是你想要做的吗?

代码语言:javascript
运行
复制
Declare @var int, @id int
SET @var = 0

SELECT @id = id FROM Table t

if(@id = @var)
BEGIN
    SET @var = @var + 1
END
ELSE
BEGIN
    SET @var = @var - 1
END

print @var
票数 22
EN

Stack Overflow用户

发布于 2011-05-27 20:15:04

只需使用SELECT即可。

例如:

代码语言:javascript
运行
复制
SELECT @myValue = MyField FROM MyTable WHERE ....
票数 7
EN

Stack Overflow用户

发布于 2019-04-29 05:46:03

在使用我的测试数据时,我有违反引用完整性的坏习惯。但在我测试完脚本后,这对于恢复引用完整性的数据很有用:

代码语言:javascript
运行
复制
DECLARE @foreign_id INTEGER;
   SET @foreign_id = (SELECT TOP 1 (FK_column) FROM (FK_table));
-- To confirm the value is what you want it to be
SELECT @foreign_id;

现在,我可以在完成后多次插入数据,使用这个值来确保:

代码语言:javascript
运行
复制
-- Referential integrity check:
SELECT (FK_column) FROM (FK_table)
   WHERE (FK_column) NOT IN
   (SELECT (PK_column) FROM (PK_table));

未返回任何值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6152001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档