我有多个包含日期字段的表。这些表不共享任何其他列,我需要计算所有表中超过某个日期的总行数。
例如,如果我有两个如下表
表格1
x, x, 2013/8/2
x, x, 2013/8/5
表 2
x,x,x,2013/7/3
x,x,x,2013/8/4
如果我指定日期,此查询将返回 3 2013/8/1
。
我有多个包含日期字段的表。这些表不共享任何其他列,我需要计算所有表中超过某个日期的总行数。
例如,如果我有两个如下表
表格1
x, x, 2013/8/2
x, x, 2013/8/5
表 2
x,x,x,2013/7/3
x,x,x,2013/8/4
如果我指定日期,此查询将返回 3 2013/8/1
。
select count(*) from
(
select date dd from t1
union all
select date from t2
)dt
where dd>2013/8/1
SQLFiddle 来演示:
total_cnt Integer;
threshhold_date DateTime;
threshhold_date = '2013-03-01';
total_cnt := (SELECT Count(*) FROM TableA WHERE DateField > threshhold_date)
+
(SELECT Count(*) FROM TableB WHERE DateField > threshhold_date)