Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 使用来自另一个表的信息更新一个表_Sql Server - Fatal编程技术网

Sql server 使用来自另一个表的信息更新一个表

Sql server 使用来自另一个表的信息更新一个表,sql-server,Sql Server,我有两张桌子: 表一包括工作日和工作时数 表二包括工作地点和开始日期 使用表2,我希望在表1中确定工作位置(如所需结果列)。您可以使用APPLY和TOP: SELECT t1.*, x.WorkPlace FROM Table1 t1 CROSS APPLY( SELECT TOP(1) WorkPlace FROM Table2 t2 WHERE t1.WorkDays >= t2.Date ORDER BY t2.Date DESC ) x

我有两张桌子:

  • 表一包括工作日和工作时数
  • 表二包括工作地点和开始日期

使用表2,我希望在表1中确定工作位置(如所需结果列)。

您可以使用
APPLY
TOP

SELECT
    t1.*, x.WorkPlace
FROM Table1 t1
CROSS APPLY(
    SELECT TOP(1) WorkPlace
    FROM Table2 t2
    WHERE t1.WorkDays >= t2.Date
    ORDER BY t2.Date DESC
) x

只是想澄清一下,这些表是在同一个数据库中-同一台服务器还是不同的服务器上?您是否尝试过在线研究这个问题?你有没有搜索过类似的问题?