我目前有两张这样的表:
我想将我的日期时间(表2)与我的列日期和时间仅与一个条件进行比较,但这不起作用:
SELECT id
FROM Table1
WHERE Date+Time>(SELECT Datetime FROM Table2 WHERE Id=1)
AND Id=1
答案 0 :(得分:2)
以下两个中的一个应该可以正常运行。
select id from table1
where concat(date,' ',time) > (select datetime from table2 where id = 1)
and id = 1;
或
select t1.id from table1 t1 inner join table2 t2
on t1.id = t2.id and concat(t1.date,' ',t1.time) > t2.datetime;
您可能需要将时间和日期列显式转换为char。不过我对此表示怀疑。
答案 1 :(得分:1)
SELECT Id
FROM Table1
WHERE CAST(Date as DATETIME) + CAST(Time as TIME)>= (SELECT Datetime FROM Table2 WHERE Id=1)
AND Id=1
但请注意,只要您的日期相同,就会使用“>”为您的查询。