如何在oracle中的单个select语句中包含多个分区
已经为lvl_id创建了分区,其中包括1,2,3作为每个id的单独分区如何在oracle中的单个select语句中包含多个分区,oracle,partition,Oracle,Partition,已经为lvl_id创建了分区,其中包括1,2,3作为每个id的单独分区 如何访问agg_summary以将1和2放在一起?从特定分区选择数据至少有三种方法。有关语法的详细说明,请参阅 create table agg_summary (period date, lvl_id number); 99.9%的时间选项1应足够。Oracle将自动确定使用哪些分区,并将正确修剪。对于修剪不能正常工作的情况,或者根据分区名称或键选择更符合逻辑的情况,选项2或3应该可以工作。您是否尝试过查询1、2中的lv
如何访问agg_summary以将1和2放在一起?从特定分区选择数据至少有三种方法。有关语法的详细说明,请参阅
create table agg_summary (period date, lvl_id number);
99.9%的时间选项1应足够。Oracle将自动确定使用哪些分区,并将正确修剪。对于修剪不能正常工作的情况,或者根据分区名称或键选择更符合逻辑的情况,选项2或3应该可以工作。您是否尝试过查询1、2中的lvl_id在哪里?虽然跨分区可能无法很好地执行,但它应该可以工作。示例数据和期望的结果将很有帮助。
create table agg_summary (period date, lvl_id number)
partition by list (lvl_id)
(
partition p1 values (1),
partition p2 values (2),
partition p3 values (3)
);
--#1: Normal predicate:
select * from agg_summary where lvl_id in (1,2);
--#2: Partition_extended_name:
select * from agg_summary partition (p1)
union all
select * from agg_summary partition (p2);
--#3: Partition_excension_clause:
select * from agg_summary partition for (1)
union all
select * from agg_summary partition for (2);