基于SQL中30秒时差的联接表

基于SQL中30秒时差的联接表,sql,sybase,dateadd,Sql,Sybase,Dateadd,我有一个买入/卖出交易表,我将其分离为一个只买入交易表和一个只卖出交易表。我想重新加入这两个表,在产品相同的情况下,将买入与卖出进行匹配,买入与卖出之间的执行时间彼此相差10到30秒 我试图左键联接两个表,并使用DATEADD作为时间增量,但返回了一条错误消息 理想情况下,我希望新表包含buy表和sell表中的所有列,但匹配所需的列是这两个表中的product和execution_time 我收到的错误消息:-“谓词中的数据类型比较无效” 30秒的部分比现在的10秒更重要,可以是0-30秒 您可

我有一个买入/卖出交易表,我将其分离为一个只买入交易表和一个只卖出交易表。我想重新加入这两个表,在产品相同的情况下,将买入与卖出进行匹配,买入与卖出之间的执行时间彼此相差10到30秒

我试图左键联接两个表,并使用DATEADD作为时间增量,但返回了一条错误消息

理想情况下,我希望新表包含buy表和sell表中的所有列,但匹配所需的列是这两个表中的product和execution_time

我收到的错误消息:-
“谓词中的数据类型比较无效”

30秒的部分比现在的10秒更重要,可以是0-30秒

您可以使用来获得所需的结果

MYSQL:-

SELECT B.* 
from tblBuy B INNER JOIN tblSell S
ON B.product = S.product
Where  TIME_TO_SEC(TIMEDIFF(B.execution_time ,S.execution_time )) BETWEEN 10 AND 30;
SELECT B.* 
from tblBuy B INNER JOIN tblSell S
ON B.product = S.product
Where  DATEDIFF(SECOND, B.execution_time, S.execution_time) BETWEEN 10 AND 30;
SYBASE:-

SELECT B.* 
from tblBuy B INNER JOIN tblSell S
ON B.product = S.product
Where  TIME_TO_SEC(TIMEDIFF(B.execution_time ,S.execution_time )) BETWEEN 10 AND 30;
SELECT B.* 
from tblBuy B INNER JOIN tblSell S
ON B.product = S.product
Where  DATEDIFF(SECOND, B.execution_time, S.execution_time) BETWEEN 10 AND 30;
您可以使用来获得所需的结果

MYSQL:-

SELECT B.* 
from tblBuy B INNER JOIN tblSell S
ON B.product = S.product
Where  TIME_TO_SEC(TIMEDIFF(B.execution_time ,S.execution_time )) BETWEEN 10 AND 30;
SELECT B.* 
from tblBuy B INNER JOIN tblSell S
ON B.product = S.product
Where  DATEDIFF(SECOND, B.execution_time, S.execution_time) BETWEEN 10 AND 30;
SYBASE:-

SELECT B.* 
from tblBuy B INNER JOIN tblSell S
ON B.product = S.product
Where  TIME_TO_SEC(TIMEDIFF(B.execution_time ,S.execution_time )) BETWEEN 10 AND 30;
SELECT B.* 
from tblBuy B INNER JOIN tblSell S
ON B.product = S.product
Where  DATEDIFF(SECOND, B.execution_time, S.execution_time) BETWEEN 10 AND 30;
您可以使用来获得所需的结果

MYSQL:-

SELECT B.* 
from tblBuy B INNER JOIN tblSell S
ON B.product = S.product
Where  TIME_TO_SEC(TIMEDIFF(B.execution_time ,S.execution_time )) BETWEEN 10 AND 30;
SELECT B.* 
from tblBuy B INNER JOIN tblSell S
ON B.product = S.product
Where  DATEDIFF(SECOND, B.execution_time, S.execution_time) BETWEEN 10 AND 30;
SYBASE:-

SELECT B.* 
from tblBuy B INNER JOIN tblSell S
ON B.product = S.product
Where  TIME_TO_SEC(TIMEDIFF(B.execution_time ,S.execution_time )) BETWEEN 10 AND 30;
SELECT B.* 
from tblBuy B INNER JOIN tblSell S
ON B.product = S.product
Where  DATEDIFF(SECOND, B.execution_time, S.execution_time) BETWEEN 10 AND 30;
您可以使用来获得所需的结果

MYSQL:-

SELECT B.* 
from tblBuy B INNER JOIN tblSell S
ON B.product = S.product
Where  TIME_TO_SEC(TIMEDIFF(B.execution_time ,S.execution_time )) BETWEEN 10 AND 30;
SELECT B.* 
from tblBuy B INNER JOIN tblSell S
ON B.product = S.product
Where  DATEDIFF(SECOND, B.execution_time, S.execution_time) BETWEEN 10 AND 30;
SYBASE:-

SELECT B.* 
from tblBuy B INNER JOIN tblSell S
ON B.product = S.product
Where  TIME_TO_SEC(TIMEDIFF(B.execution_time ,S.execution_time )) BETWEEN 10 AND 30;
SELECT B.* 
from tblBuy B INNER JOIN tblSell S
ON B.product = S.product
Where  DATEDIFF(SECOND, B.execution_time, S.execution_time) BETWEEN 10 AND 30;



哪一个是mysql还是sql server?标记是否正确?错误消息是什么?您尝试的查询是什么?同时添加您尝试的查询?感谢状态报告。你想问个问题吗?错误消息“
谓词中的数据类型比较无效”
,我认为这不是来自MySQL;我以前从未遇到过这种情况(多年来我犯了一大堆错误);我在MySQL参考手册中没有看到这个错误消息。而
DATEADD()
不是一个原生MySQL函数。MySQL同样命名为
DATE\u ADD()
和一个
ADDDATE()
函数……很抱歉,它实际上在sybase中。哪一个是MySQL还是sql server?标记是否正确?错误消息是什么?您尝试的查询是什么?同时添加您尝试的查询?感谢状态报告。你想问个问题吗?错误消息“
谓词中的数据类型比较无效”
,我认为这不是来自MySQL;我以前从未遇到过这种情况(多年来我犯了一大堆错误);我在MySQL参考手册中没有看到这个错误消息。而
DATEADD()
不是一个原生MySQL函数。MySQL同样命名为
DATE\u ADD()
和一个
ADDDATE()
函数……很抱歉,它实际上在sybase中。哪一个是MySQL还是sql server?标记是否正确?错误消息是什么?您尝试的查询是什么?同时添加您尝试的查询?感谢状态报告。你想问个问题吗?错误消息“
谓词中的数据类型比较无效”
,我认为这不是来自MySQL;我以前从未遇到过这种情况(多年来我犯了一大堆错误);我在MySQL参考手册中没有看到这个错误消息。而
DATEADD()
不是一个原生MySQL函数。MySQL同样命名为
DATE\u ADD()
和一个
ADDDATE()
函数……很抱歉,它实际上在sybase中。哪一个是MySQL还是sql server?标记是否正确?错误消息是什么?您尝试的查询是什么?同时添加您尝试的查询?感谢状态报告。你想问个问题吗?错误消息“
谓词中的数据类型比较无效”
,我认为这不是来自MySQL;我以前从未遇到过这种情况(多年来我犯了一大堆错误);我在MySQL参考手册中没有看到这个错误消息。而
DATEADD()
不是一个原生MySQL函数。MySQL同样命名为
DATE\u ADD()
ADDDATE()
函数……很抱歉,它实际上在sybase中。感谢您的回复,但这是我的错误。我在sybase中使用sql,而不是mysql。不幸的是,时间对我不起作用。@nciaf:-以前你用MYSQL标记你的问题,现在你改变了我的做法,因为我说过这是我的错误。为了帮助一位朋友处理一个大数据集,我没有花太多时间使用sql或mysql。我已经解决了这个问题。谢谢你的回复。很抱歉造成混乱。@nciaf:-没问题……谢谢你的回答,但这是我的错误。我在sybase中使用sql,而不是mysql。不幸的是,时间对我不起作用。@nciaf:-以前你用MYSQL标记你的问题,现在你改变了我的做法,因为我说过这是我的错误。为了帮助一位朋友处理一个大数据集,我没有花太多时间使用sql或mysql。我已经解决了这个问题。谢谢你的回复。很抱歉造成混乱。@nciaf:-没问题……谢谢你的回答,但这是我的错误。我在sybase中使用sql,而不是mysql。不幸的是,时间对我不起作用。@nciaf:-以前你用MYSQL标记你的问题,现在你改变了我的做法,因为我说过这是我的错误。为了帮助一位朋友处理一个大数据集,我没有花太多时间使用sql或mysql。我已经解决了这个问题。谢谢你的回复。很抱歉造成混乱。@nciaf:-没问题……谢谢你的回答,但这是我的错误。我在sybase中使用sql,而不是mysql。不幸的是,时间对我不起作用。@nciaf:-以前你用MYSQL标记你的问题,现在你改变了我的做法,因为我说过这是我的错误。为了帮助一位朋友处理一个大数据集,我没有花太多时间使用sql或mysql。我已经解决了这个问题。谢谢你的回复。很抱歉搞混了。@nciaf:-没问题……干杯