sql - T-SQL:更新记录集的第一行

标签 sql sql-server t-sql

我有一个查询 (A),它可以按日期顺序返回多行:

SELECT encounter_id, department_id, effective_time
FROM   adt
WHERE  event_type IN (1,3,7)
ORDER BY effective_time

我有另一个返回单行的查询 (B):

SELECT encounter_id, department_id, arrival_time
FROM   ed
WHERE  event_type = 50

我想将查询 B 加入到查询 A,这样查询 B 的单行将与查询 A 的第一记录相关联。

我意识到我可以使用 CURSOR 来完成此操作,但我希望使用 T-SQL row_number() 函数。

最佳答案

不确定我的问题是否正确。 如果以下解决方案与您的预期不同,请告诉我

SELECT *
FROM
(
    SELECT   TOP 1
         encounter_id, department_id, effective_time 
    FROM     adt 
    WHERE    event_type IN (1,3,7) 
    ORDER BY effective_time 
)adt1,
(
    SELECT   encounter_id, department_id, arrival_time 
    FROM     ed 
    WHERE    event_type = 50 
) ed1

然后您可以根据需要使用 WHERE 子句连接两个表

问候, 尼亚兹

关于sql - T-SQL:更新记录集的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1676652/

相关文章:

php - MySQL 3表对数据表的单个查询

sql - 在 varchar 列中查找非数字值

mysql - 用于对一个查询中的时间段内的事件进行计数的 SQL 查询

sql-server - SQL Server Management Studio - 网格结果另存为 .CSV - 如何输出文本而不是 UTF-16 (Unicode)

sql - 提取特定空间实例之间的字符串 - SQL Server

mysql - 在第一次 SELECT 查询后从第二个表中获取特定列

sql-server - 根据搜索文本删除父子记录

sql-server - 全文搜索 "Contains"比 "Like %"慢

sql-server - 如何在具有可变服务器名称的链接服务器上创建表?

.net - 当数据库中数据不可用时测试 SQL Server 存储过程的任何工具。