Table T1:
Column T1A
Column insertdate (TIMESTAMP(6), indexed)
Column T1B
Table T2:
Column T1B
Column T2name
Column T2C
Table T3:
Column T2C
Column T3name
Select T1A, count(0)
from T1
where (insertdate between trunc(sysdate) - 2 and trunc(sysdate) - 1) group by T1A;
为每个T1A值生成T1中昨天记录的计数。
Select tbl2.T2name, tbl3.T3name
from T2 tbl2, T3 tbl3
where tbl2.T1B in (select tbl1.T1A from T1 tbl1
where (insertdate between trunc(sysdate) - 2 and trunc(sysdate) - 1)
group by T1A)
and tbl2.T2C = tbl3.T2C;
返回T2和T3中映射到T1A列中值的列的名称。
现在我想要将两者结合起来,以便第一个查询包含名称而不是对读者无意义的关键字段(T1A):报告T2name,T3name,T1中每个T1A值的昨天记录数。 / p>
显然那些不是真正的表名和列名。如果我在语法中犯了错误,请忽略,因为它没有按原样运行。所有建议都表示赞赏。
答案 0 :(得分:0)
SELECT tbl2.T2name, tbl3.T3name, count(*)
FROM T1 tbl1, T2 tbl2, T3 tbl3
WHERE tbl1.T1B = tbl2.T1B
AND tbl2.T2C = tbl3.T2C
AND tbl1.insertdate >= trunc(sysdate) - 2
AND tbl1.insertdate < trunc(sysdate) - 1
GROUP BY tbl2.T2name, tbl3.T3name;