【发布时间】:2009-06-10 09:25:45
【问题描述】:
问题已于 6 月 4 日发布,但仍未得到正确答案。
表结构:
T_Person – 表 1
CARDNO
168
471
488
247
519
518
331
240
518
386
441
331
T_Cardevent – 表 2
CARDEVENTDATE CARDEVENTTIME
20090225 163932
20090225 164630
20090225 165027
20090225 165137
20090225 165147
20090225 165715
20090225 165749
20090303 162059
20090303 162723
20090303 155029
20090303 155707
20090303 162824
查询
SELECT CARDNO, CARDEVENTDATE, (1000000 * CAST (CARDEVENTDATE AS BIGINT) + CAST (CARDEVENTTIME AS BIGINT) - 30001) / 1000000 AS CardEvenDateAdjusted, CARDEVENTTIME
FROM T_CARDEVENT
WHERE (CARDEVENTDATE > 20090601)
GROUP BY CARDNO, CARDEVENTDATE, CARDEVENTTIME, (1000000 * CAST(CARDEVENTDATE AS BIGINT) + CAST(CARDEVENTTIME AS BIGINT) - 30001) / 1000000
ORDER BY CARDNO, CARDEVENDATEADJUSTED
从上面的查询日期根据那个时间 03:00:01 到 03:00:00 正确显示
如何获取调整后日期的最小(时间)和最大(时间)?
我需要上述条件的 SQL 查询。
【问题讨论】:
-
如果你之前的问题没有得到你想要的答案,那么你应该更新那个问题,解释为什么你得到的答案没有帮助。再次问同样的问题最多只能得到同样的答案,但很可能根本得不到答案。
-
戴夫,我得到了日期的答案,但暂时没有得到。他们在 6 月 4 日回复,之后没有回复。让你再次发帖
-
您的最后一个查询是错误的,因为您只从
T_Cardevent表中选择值:SELECT CARDNO, ... FROM T_CARDEVENT WHERE ... GROUP BY CARDNO ... ORDER BY CARDNO。CARDNO列在您的T_Cardevent表定义中不存在。请使用正确的查询更新您的问题。
标签: sql