如何解析从 T-SQL 查询返回的行

Posted

技术标签:

【中文标题】如何解析从 T-SQL 查询返回的行【英文标题】:How to parse a row returned from a T-SQL query 【发布时间】:2016-05-06 22:20:39 【问题描述】:

假设我在 SQL Server 中有一个表(我们称之为审计)

AuditID int primary not null,
Name varchar(300),
AuditCount int,
ActualCount int,
AuditDate datetime

该表可以包含任意数量的行,其中包含给定的 AuditID。我想遍历表,给定一个 AuditID,并将 AuditCount 与 ActualCount 进行比较。如果它们不相等,那么我会做其他事情......但首先,我如何一次检索一行,并比较返回的值?

【问题讨论】:

您可以一次遍历一行,但大多数人会在 SQL 中使用基于集合的查询来执行此操作。见***.com/questions/24168/…。 您必须更具体地指定做某事可能是什么:插入记录?删除记录?创建一个表?总结什么? 我的回答很有帮助。如果是,请将其标记为答案 【参考方案1】:

试试这个:

SELECT
    AuditID,
    Name,
    AuditCount,
    ActualCount,
    AuditDate
FROM Audit
WHERE AuditCount <> ActualCount; 

SELECT
        AuditID,
        Name,
        case when AuditCount <> ActualCount then 'Do something'
        else 'do something else' end as myColumn,
        AuditDate
FROM Audit;

【讨论】:

以上是关于如何解析从 T-SQL 查询返回的行的主要内容,如果未能解决你的问题,请参考以下文章

T-SQL 查询以获取从今天起 +30 天的日期

如何修改此 t-sql 查询以返回不同列名的最大值?

如何在 SQL 查询中仅检查从存储过程返回的行的第一个值

使用T-SQL实现多表查询

如何使此查询也返回计数值为 0 的行?

MS T-SQL UPDATE语句