Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Materialized view problem ORA-00904: "from$_subquery$_ error

440616Mar 21 2005 — edited Apr 1 2005
Hello everyone,

I've created data warehouse star schema and I'm trying to set up materialized view. DBMS_MVIEW.EXPLAIN_MVIEW passes and also the select query passes and is executed with no problems but when I try to CREATE MATERIALIZED VIEW... then error ORA-00904: "from$_subquery$_003"."SERVICE_ID_2_2": invalid identifier pops-up. How does Oracle 9i (9.2.0.1.0) managed to do this ? How to make it to work ?
This is the query, and the schema:
CREATE MATERIALIZED VIEW analiza_profitabilnosti
BUILD IMMEDIATE
REFRESH FAST
ON COMMIT
AS
select
GROUPING_ID(t.y,t.q,t.m,t.w,t.d,s.service_type,s.service_id,c.customer_category) as g_id,
t.y, t.q, t.m, t.w, t.d,
s.service_type , s.service_id ,
c.customer_category ,
COUNT(*) as c_star,
SUM(cost) cost, COUNT(cost) c_cost,
SUM(number_of_units) number_of_units, COUNT(number_of_units) as c_number_of_units
from fact f
inner join timeline t on f.datum = t.datum
inner join service s on f.service_id = s.service_id
inner join customer_category c on f.customer_category=c.customer_category
group by
ROLLUP(t.y, t.q, t.m, t.w, t.d),
ROLLUP(s.service_type, s.service_id),
ROLLUP (c.customer_category)

and the schema:
FACT (
DATUM DATE,
HOST_ID NUMBER,
SERVICE_ID NUMBER (5),
CALLED_PREFIX_ID NUMBER (10),
CUSTOMER_CATEGORY NUMBER,
TRAFIC_PERIOD_ID NUMBER (5),
CALL_DURATION NUMBER,
COST NUMBER,
NUMBER_OF_UNITS NUMBER,
NUMBER_OF_CALLS NUMBER)

TIMELINE (
Y VARCHAR2 (5),
Q VARCHAR2 (5),
M VARCHAR2 (5),
W VARCHAR2 (5),
D VARCHAR2 (5),
DATUM DATE NOT NULL)

SERVICE (
SERVICE_ID NUMBER (5) NOT NULL,
SERVICE_CODE VARCHAR2 (15) NOT NULL,
SERVICE_NAME VARCHAR2 (63),
SERVICE_TYPE NUMBER (5),
SERVICE_TYPE_CODE VARCHAR2 (4) NOT NULL,
S_ID NUMBER (5))

CUSTOMER_CATEGORY (
CUSTOMER_CATEGORY_NAME VARCHAR2 (65) NOT NULL,
CUSTOMER_CATEGORY NUMBER NOT NULL)

Thanks,
Igor
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 29 2005
Added on Mar 21 2005
2 comments
1,115 views