两个模式的日期时间差异

时间:2016-03-08 11:50:18

标签: mysql database datetime schema

我正在尝试从schemaOne中选择所有记录。abc其中abcTIMESTAMPschemaTwo之前为3周或更短时间。{{1 }}。xyz

所以如果:

TIMESTAMPschemaOneabc = TIMESTAMP

2016-03-08schemaTwoxyz = TIMESTAMP

然后2016-03-01schemaOneabc应该被提取,但是如果:

TIMESTAMPschemaTwoxyz = TIMESTAMP

然后2012-03-01schemaOneabc不应被提取。

我的尝试:

TIMESTAMP

返回错误:

SELECT ID FROM schemaOne.abc WHERE `TIMESTAMP` > (SELECT `TIMESTAMP` FROM schemaTwo.xyz) - INTERVAL 3 WEEK;

我怀疑我可能需要Error Code: 1242 Subquery returns more than 1 row 或代表查询UNION ASA来传递参数,但我不是MySQL专家,所以我我几乎被困在这里。也许有一种更简单的方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

由于schemaOne.abc.ID引用schemaTwo.xyz.abc_ID,因此以下查询可能是您所期望的查询。

SELECT 
schemaOne.abc.ID
FROM schemaOne.abc
INNER JOIN schemaTwo.xyz ON schemaOne.abc.ID = schemaTwo.xyz.abc_ID 
WHERE schemaOne.abc.`TIMESTAMP` > (schemaTwo.xyz.`TIMESTAMP` - INTERVAL 3 WEEK);