t-sql - TSQL 从列中的多个范围中选择唯一值

标签 t-sql

一个初学者的问题。

我有两张 table 。其中一个 (A) 包含Start_time、End_time、Status。第二个 (B) 包含时间戳、Error_code。第二个表每隔几秒由系统自动记录一次,因此它包含许多非唯一的 Error_code 值(它随机变化,但在表 A 的时间范围内)。我需要的是从表 A 中每个时间范围的第一个表中为每个时间范围(在我的情况下为每一行)选择唯一的错误代码:

A.开始时间、A.结束时间 B.错误代码。

我已经做到了:

select A.Start_time,
       A.End_time,
       B.Error_code
from B
  inner join A
    on B.Timestamp between A.Start_time and A.End_time

我知道这是错误的。 欢迎任何想法。

最佳答案

如果旅游查询给出大量重复项,请使用 unique 来删除它们:

select DISTINCT A.Start_time, A.End_time, B.Error_code
from B
inner join A on B.Timestamp between A.Start_time and A.End_time

关于t-sql - TSQL 从列中的多个范围中选择唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10333015/

相关文章:

sql-server - 计算存储过程结果中的行数,然后将结果插入表中

sql-server - 如何在sql中向十进制值添加前导零

sql - 将大表导入azure sql数据库

sql - 如何选择具有相关值的行?

sql - 查找重复项并更新 T-SQL

sql-server - 用于计算过去 10 分钟内出现次数的窗口函数

sql - 在 SQL 中编写 CASE 语句

sql - 如何聚合表达式的结果?

sql-server - 返回 bool 的存储过程

sql - 基于IF的SQL查询?