我有如下查询:
select t1.varid, t1.var1, t1.var2, t1.vardata, t2.varid, t2.var1, t2,.var2
from table1 t1, table2 t2
where t1.varid = t2.varid
and t1.vardata between to_date('20170807','YYYYMMDD') and to_date('20170808','YYYYMMDD')
现在的问题是:我不仅需要在上面查询中指定的数据范围内提取数据,而且我还想在同一个查询中提取许多其他范围。
为此,我使用了UNION ALL
它并且它有效。问题是我必须多次重写这部分:
select t1.varid, t1.var1, t1.var2, t1.vardata, t2.varid, t2.var1, t2, var2
from table1 t1, table2 t2
where t1.varid = t2.varid
是否有关于如何定义select t1.varid...
为命名变量以避免冗长乏味的重复查询的提示?
欢迎任何其他解决方案。
正如聊天中所讨论的,您可以按照以下方式进行操作:
SELECT t1.varid as col1,
t1.var1 as col2,
t1.var2,
t1.vardata,
t2.varid,
t2.var1,
t2,
.var2
FROM table1 t1, table2 t2
WHERE t1.varid = t2.varid
AND t1.vardata BETWEEN TO_DATE ('20170807', 'YYYYMMDD')
AND TO_DATE ('20170808', 'YYYYMMDD')
--- Give date ranges.
OR t1.vardata BETWEEN TO_DATE ('20170907', 'YYYYMMDD')
AND TO_DATE ('20171008', 'YYYYMMDD')
OR ....
OR ....
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句