Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.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 减去Access中相同序列号的日期_Sql_Ms Access_Subtraction - Fatal编程技术网

Sql 减去Access中相同序列号的日期

Sql 减去Access中相同序列号的日期,sql,ms-access,subtraction,Sql,Ms Access,Subtraction,嗨,我需要一个SQL代码来减去MsAccess的日期 比如说 serialNumber serviceWoNumber createdDate type Results should be 900017672280000 1700028713 17.01.2017 CD 731127155164500 1600729135 14.12.2016 CD =14.12.2016-7.12.2016=7 731127155164500 16007124

嗨,我需要一个SQL代码来减去MsAccess的日期

比如说

serialNumber    serviceWoNumber createdDate type    Results should be
900017672280000 1700028713      17.01.2017   CD 
731127155164500 1600729135      14.12.2016   CD     =14.12.2016-7.12.2016=7
731127155164500 1600712441      7.12.2016    CD     =7.12.2016-5.12.2016=2

非常感谢您的帮助。

我猜问题中遗漏了一些数据,但我想我理解您的问题

您有一个包含使用上述设置(serialNumber、serviceNumber、createdDate和Type)的记录的表。您要检查自上次保养项目之日起的时间

您需要对表执行某种形式的自联接,然后找到use
DATEDIFF
来执行计算。它看起来类似于以下内容(伪代码):

您对序列号执行自联接,并且a中的组件在数据集中的服务时间晚于b中的组件

这不考虑您以前从未服务过的项目,因此您可能需要添加一些数据来处理数据集b中的
NULL

如果我完全误解了你的问题,请告诉我

****更新以下评论****

在您希望添加减法结果的评论之后,您可以使用以下内容(假设您添加了一个名为serviceInterval的列:

UPDATE myTable updateMe
SET 
    updateMe.serviceInterval = a.serviceInterval
FROM
    myTable a
    LEFT JOIN myTable b ON a.serialNumber = b.serialNumber 
    AND a.createdDate > b.createdDate
WHERE
    updateMe.serialNumber = a.serialNumber 

你在哪里找到2016年12月5日?如何决定减去哪些日期?嗨,Schmitz IT,非常感谢你的大力帮助。仓库中有许多相同的序列号,ı想根据日期顺序连续增加一列关于每条记录减去结果的内容。嗨,Schmitz IT,非常感谢你r您的大力帮助。仓库中有许多相同的序列号,ı想根据日期顺序连续添加到关于每条记录的减法结果的额外列中。我是否应该将“a”命名和“b”命名的表装箱。我收到了一条“输入参数值”的消息对于serial numberDear@SchmitzIT,你能和我分享一个关于这个的样本数据库吗?我一直在努力…期待很快收到你的来信。非常感谢much@Sero-如前所述,它几乎是伪代码。我没有可用的Access数据库。您尝试了什么,结果如何?
UPDATE myTable updateMe
SET 
    updateMe.serviceInterval = a.serviceInterval
FROM
    myTable a
    LEFT JOIN myTable b ON a.serialNumber = b.serialNumber 
    AND a.createdDate > b.createdDate
WHERE
    updateMe.serialNumber = a.serialNumber