Left outer join Bug? Oracle 11 g.
Hi , I am facing a strange problem in oracle 11 g .
I have a select query like this
Query 1 :
Select A.name, B.name, C.name from A Left outer join B on A.id = B.id left outer join C on b.id = c.id and (Some complex condition) left outer join D on C.id = D.id;
A, B, C, D are tables.
(Assume that I have data which satisfies the above join conditions)
However I am not getting C.name in the result. Getting NULL in C.name.
Now if I add a where clause to the above query like the following Query 2 then I get C.name in the results
Consider that there is a field called field1 in table C and the value of field1 is ‘xyz’ for all the rows of table C .
Query 2 :
Select A.name, B.name, C.name from A Left outer join B on A.id = B.id left outer join C on b.id = c.id and (Some complex condition) left outer join D on C.id = D.id where c.field1 = ‘xyz’;
I find this strange , What role where clause is playing ? Why I get C.name only after adding where clause.
I also tried following setting with Query 1 however this also did not help me.
alter session set "_optimizer_join_elimination_enabled"=false;
Is oracle does some optimization if no where clause is specified ? Is this a bug?
Please help me out.
Thanks,
Sumit
874384 wrote:
...Is this a bug? Maybe. Maybe not. Really difficult to say based on your description. However, if you suspect a bug, then raise a ticket to the support including much more information (e.g. version 11.x.x.x, define "some condition" and so on).
Nicolas.
Similar Messages
-
Multiple LEFT OUTER JOIN on Oracle 8i
Hi,
I have to convert some stored procedure from Sql Server to Oracle 8i where I have multiple LEFT OUTER JOIN on a table. Because Oracle 8i accept only one outer join on a table how can I convert this:
select a.id, b.id
from test as a LEFT JOIN test1 b ON a.id(+)=b.id
and c.display(+)=b.display
and c.name(+)='Done';
Thanks.Rewrite as:
select a.id, b.id
from test, test1 b
WHERE a.id(+)=b.id
and a.display(+)=b.display
and a.name(+)='Done';
Though I would lose the (+) in a.name(+) = 'Done' unless you want every name. -
Hello everybody, I am kinda new to SQL.
There is only one Primary key for our database. For example 'ID'. Somebody had this code in the WHERE clause code before I started working on this. Do we really need to use the LEFT OUTER JOIN (+) in order to bring all the records. If I remove the join the number of records are reduced to a 1/6th of the original (with the joins). Please help me
EMPLOYEE.ID = ADDRESS.ID (+) AND
EMPLOYEE.ID = PAYROLL.ID (+) AND
EMPLOYEE.ID = USERS.ID (+) AND
EMPLOYEE.ID = DEPARTMENT.ID (+)If you want a row in the result for every row in the employee table, whether there is a matching row in the address, payroll, users, or department table, then yes, you need the outer join. If you only want results where there are matching rows in each of the detail tables, then you don't need the outer joins.
Justin
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC -
Oracle 8i -multiple LEFT OUTER JOIN
Hi,
I have to convert some stored procedure from Sql Server to Oracle 8i where I have multiple LEFT OUTER JOIN on a table. Because Oracle 8i accept only one outer join on a table how can I convert this:
select a.id, b.id
from test as a LEFT JOIN test1 b ON a.id(+)=b.id
and a.display(+)=b.display
and a.name(+)='Done';
Thanks.FROM test a LEFT JOIN test1 b ON b.key = a.keyis equivalent to
FROM test a, test1 b WHERE b.key(+) = a.keyThere is a restriction (when using the "(+)" syntax) that a table may be outer-joined to at most one other table, but that does not prevent you from having multiple join conditions between those two tables.
From your example I'm not sure whether you need this:
SELECT a.id, b.id
FROM test a
, test1 b
WHERE a.name = 'Done'
AND b.id (+)= a.id
AND b.display (+)= a.display;or this:
SELECT a.id, b.id
FROM test1 b
, test a
WHERE a.id (+)= b.id
AND a.display (+)= b.display;
WHERE a.name (+)= 'Done'; -
OJ syntax for multi-table left outer join with MS Oracle Driver
I have a multi-table left outer join that works fine in SQL Server ODBC Driver, Oracle ODBC driver 8.01.07.00, but not with Microsoft ODBC Driver for Oracle 2.573.7326.0
SELECT * from { oj A LEFT OUTER JOIN B ON A.col1 = B.col1 LEFT OUTER JOIN C ON A.col1 = C.col1 }
I noticed someone had a similar problem (the proposed solution doesn't work):
http://www.justpbinfo.com/listarchive/msg02874.html
Does anyone know how to get this working with the Microsoft ODBC Driver for Oracle? Or does it just not work?The Microsoft ODBC Driver for Oracle 2.573.7326.0 does perform the same 'fix up' with {oj} in Oracle 8i. The problem is that it doesn't work when joining more than two tables:
This works:
SELECT * from { oj A LEFT OUTER JOIN B ON A.col1 = B.col1}
This doesn't work:
SELECT * from { oj A LEFT OUTER JOIN B ON A.col1 = B.col1 LEFT OUTER JOIN C ON B.col1 = C.col1 }
(The second query will work with the Oracle Oracle ODBC driver, with a bit of tweaking. But I haven't found a way to get it to work with the Microsoft ODBC Driver for Oracle 2.573.7326.0. My suspicion is that it just doesn't work.)
Gavin -
Crystal Report with 2 oracle datasources (left outer join) very slow
I've made a crystal report with 2 oracle datasources (2 commands). I'm using crystal 10.
These 2 data sources are linked with a left outer join.
The report takes a while to run (more then one hour).
i can run Both query's in a couple of seconds/minutes, but it looks like crystal is runniing the second query for each record in the first query.
When i make the same report in BO. Just 2 queries with merged dimensions in the report, it is taking a couple of minutes to complete the report.
Question is if somebody knows how crystal is handling these 2 different data sources.
Is there any way to say to crystal to fetch the data of both queries and do the join after that?
At the moment it looks like that crystal is going to the other datasource for each record in the first query, which will cost a lot of time.Joris,
I've always had a bad time combining a Command with any other object. Performance seems to drop dramatically, just as you've described.
I can't tell you specifically why, it falls off so bad...
The solution I've used is to do a linked server query (at least that's what it's called in MS SQL Server) I've never used Oracle, but I'd be VERY surprised if it didn't have that same feature. This will keep 100% of the processing on the server(s) and will get your run times back to what you would expect.
HTH,
Jason -
Problem with XMLTABLE and LEFT OUTER JOIN
Hi all.
I have one problem with XMLTABLE and LEFT OUTER JOIN, in 11g it returns correct result but in 10g it doesn't, it is trated as INNER JOIN.
SELECT * FROM v$version;
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
"CORE 11.2.0.1.0 Production"
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
--test for 11g
CREATE TABLE XML_TEST(
ID NUMBER(2,0),
XML XMLTYPE
INSERT INTO XML_TEST
VALUES
1,
XMLTYPE
<msg>
<data>
<fields>
<id>g1</id>
<dat>data1</dat>
</fields>
</data>
</msg>
INSERT INTO XML_TEST
VALUES
2,
XMLTYPE
<msg>
<data>
<fields>
<id>g2</id>
<dat>data2</dat>
</fields>
</data>
</msg>
INSERT INTO XML_TEST
VALUES
3,
XMLTYPE
<msg>
<data>
<fields>
<id>g3</id>
<dat>data3</dat>
</fields>
<fields>
<id>g4</id>
<dat>data4</dat>
</fields>
<fields>
<dat>data5</dat>
</fields>
</data>
</msg>
SELECT
t.id,
x.dat,
y.seqno,
y.id_real
FROM
xml_test t,
XMLTABLE
'/msg/data/fields'
passing t.xml
columns
dat VARCHAR2(10) path 'dat',
id XMLTYPE path 'id'
)x LEFT OUTER JOIN
XMLTABLE
'id'
passing x.id
columns
seqno FOR ORDINALITY,
id_real VARCHAR2(30) PATH '.'
)y ON 1=1
ID DAT SEQNO ID_REAL
1 data1 1 g1
2 data2 1 g2
3 data3 1 g3
3 data4 1 g4
3 data5 Here's everything fine, now the problem:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
PL/SQL Release 10.2.0.1.0 - Production
"CORE 10.2.0.1.0 Production"
TNS for HPUX: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
--exactly the same environment as 11g (tables and rows)
SELECT
t.id,
x.dat,
y.seqno,
y.id_real
FROM
xml_test t,
XMLTABLE
'/msg/data/fields'
passing t.xml
columns
dat VARCHAR2(10) path 'dat',
id XMLTYPE path 'id'
)x LEFT OUTER JOIN
XMLTABLE
'id'
passing x.id
columns
seqno FOR ORDINALITY,
id_real VARCHAR2(30) PATH '.'
)y ON 1=1
ID DAT SEQNO ID_REAL
1 data1 1 g1
2 data2 1 g2
3 data3 1 g3
3 data4 1 g4As you can see in 10g I don't have the last row, it seems that Oracle 10g doesn't recognize the LEFT OUTER JOIN.
Is this a bug?, Metalink says that sometimes we can have an ORA-0600 but in this case there is no error returned, just incorrect results.
Please help.
Regards.Hi A_Non.
Thanks a lot, I tried with this:
SELECT
t.id,
x.dat,
y.seqno,
y.id_real
FROM
xml_test t,
XMLTABLE
'/msg/data/fields'
passing t.xml
columns
dat VARCHAR2(10) path 'dat',
id XMLTYPE path 'id'
)x,
XMLTABLE
'id'
passing x.id
columns
seqno FOR ORDINALITY,
id_real VARCHAR2(30) PATH '.'
)(+) y ;And is giving me the complete output.
Thanks again.
Regards. -
Not using Index when SDO_RELATE in Spatial Query is used in LEFT OUTER JOIN
I want to know for every City (Point geometry) in which Municipality (Polygon geometry) it is.
Some cities will not be covered by any municipality (as there is no data for it), so its municipality name should be blank in the result
We have 4942 cities (point geometries)
and 500 municipalities (polygon geometry)
SELECT T1.NAME as City, T2.NAME as Municipality
FROM CITY T1
LEFT OUTER JOIN MUNICIPALITY T2 ON SDO_RELATE(T1.GEOM, T2.GEOM, 'MASK=ANYINTERACT') = 'TRUE'The explain plan for this query is:
SELECT STATEMENT
FILTER
Filter Predicates
MDSYS.SDO_RTREE_RELATE(T1.GEOM, T2.GEOM, 'mask=ANYINTERACT querytype=window ') = 'TRUE'
MERGE JOIN
TABLE ACCESS CITY FULL 11
BUFFER SORT 100605
TABLE ACCESS MUNICIPALITY FULL 20So the cost is in the BUFFER (whatever that is), it takes +2000 seconds to run this, it is not using the spatial index.
And we are not getting all rows, but only the ones interacting with a municipality, e.g. 2436 rows.
But I want all rows, including the ones not interacting with any Municipality.
When we want only those cities that actually are in a municipality, I use a different query and it will use the index.
SELECT T1.NAME as City, T2.NAME as Municipality
FROM CITY T1, MUNICIPALITY T2
WHERE SDO_RELATE(T1.GEOM, T2.GEOM, 'MASK=ANYINTERACT') = 'TRUE'I get (only) 2436 rows (as expected) in 5 seconds (it is fast) and the explain plan shows it is using the spatial index.
But in this case, I am not getting any cities not inside any municipality (of course)
SELECT STATEMENT
NESTED LOOPS
TABLE ACCESS MUNICIPALITY FULL 22
TABLE ACCESS CITY BY INDEX ROWID 22
DOMAIN INDEX CITY_SDX 0
Access Predicates
MDSYS.SDO_RTREE_RELATE(T1.GEOM, T2.GEOM, 'mask=ANYINTERACT querytype=window ') = 'TRUE'I always thought a LEFT OUTER JOIN would return all rows from the Table, whatever happens in the next,
but it seems the query has been rewritten so that it is now using a Filter Predicate in the end, which filters those geometries having no interaction.
As an example I also do thing alphanumerically, I do get 4942 rows, including the ones which have no Municipality name.
In this case the names must match, so its only for testing if the LEFT OUTER JOIN returns stuff correctly, which it does in this case.
SELECT T1.NAME as City, T2.NAME as Municipality
FROM CITY T1
LEFT OUTER JOIN MUNICIPALITY T2 ON T1.NAME = T2.NAMEIs this an Oracle Spatial bug, e.g. not return 4942 rows, but only 2436 rows on the first query?
Note all tests performed on Oracle 11g R2 (11.2.0.1.0)Patrick,
Even so, your geoms in the relate were the wrong way around.
Also, I don't recall you saying (or showing) that you wanted the municipality geometry returned. Still,
no matter, easy to do.
Here are some additional suggestions. I don't have your data so I have had to use some of my own.
set serveroutput on timing on autotrace on
SELECT T1.SPECIES as City,
(SELECT T2.ADMIN_NAME FROM AUSTRALIAN_STATES T2 WHERE SDO_ANYINTERACT(T2.GEOM, SDO_GEOM.SDO_BUFFER(T1.GEOM,10000,0.5,'UNIT=M')) = 'TRUE') as Municipality,
(SELECT T2.GEOM FROM AUSTRALIAN_STATES T2 WHERE SDO_ANYINTERACT(T2.GEOM, SDO_GEOM.SDO_BUFFER(T1.GEOM,10000,0.5,'UNIT=M')) = 'TRUE') as geom
FROM GUTDATA T1;
762 rows selected
Elapsed: 00:00:21.656
Plan hash value: 2160035213
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 762 | 49530 | 5 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| AUSTRALIAN_STATES | 1 | 115 | 0 (0)| 00:00:01 |
|* 2 | DOMAIN INDEX | AUSTRALIAN_STATES_GEOM_SPX | | | 0 (0)| 00:00:01 |
| 3 | TABLE ACCESS BY INDEX ROWID| AUSTRALIAN_STATES | 1 | 115 | 0 (0)| 00:00:01 |
|* 4 | DOMAIN INDEX | AUSTRALIAN_STATES_GEOM_SPX | | | 0 (0)| 00:00:01 |
| 5 | TABLE ACCESS FULL | GUTDATA | 762 | 49530 | 5 (0)| 00:00:01 |
Predicate Information (identified by operation id):
2 - access("MDSYS"."SDO_ANYINTERACT"("T2"."GEOM","SDO_GEOM"."SDO_BUFFER"(:B1,10000,0.5,'UNIT=M'))='TRUE')
4 - access("MDSYS"."SDO_ANYINTERACT"("T2"."GEOM","SDO_GEOM"."SDO_BUFFER"(:B1,10000,0.5,'UNIT=M'))='TRUE')
Statistics
7 user calls
24576 physical read total bytes
0 physical write total bytes
0 spare statistic 3
0 commit cleanout failures: cannot pin
0 TBS Extension: bytes extended
0 total number of times SMON posted
0 SMON posted for undo segment recovery
0 SMON posted for dropping temp segment
0 segment prealloc tasksThe above can look messy as you add more (SELECT ...) attributes, but is is fast (though can't use in Materialized Views).
/* The set of all cities not in municipalities */
SELECT T1.SPECIES as City,
cast(null as varchar2(42)) as municipality,
cast(null as sdo_geometry) as geom
FROM GUTDATA T1
WHERE NOT EXISTS (SELECT 1
FROM AUSTRALIAN_STATES T2
WHERE SDO_ANYINTERACT(T2.GEOM, SDO_GEOM.SDO_BUFFER(T1.GEOM,10000,0.5,'UNIT=M')) = 'TRUE')
UNION ALL
/* The set of all cities in municipalities */
SELECT T1.SPECIES as City,
T2.ADMIN_NAME as Municipality,
T2.GEOM as geom
FROM GUTDATA T1
INNER JOIN
AUSTRALIAN_STATES T2 ON (SDO_ANYINTERACT(T2.GEOM, SDO_GEOM.SDO_BUFFER(T1.GEOM,10000,0.5,'UNIT=M')) = 'TRUE');
762 rows selected
Elapsed: 00:00:59.953
Plan hash value: 2854682795
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 99 | 13450 | 38 (87)| 00:00:01 |
| 1 | UNION-ALL | | | | | |
|* 2 | FILTER | | | | | |
| 3 | TABLE ACCESS FULL| GUTDATA | 762 | 49530 | 5 (0)| 00:00:01 |
|* 4 | DOMAIN INDEX | AUSTRALIAN_STATES_GEOM_SPX | | | 0 (0)| 00:00:01 |
| 5 | NESTED LOOPS | | 61 | 10980 | 33 (0)| 00:00:01 |
| 6 | TABLE ACCESS FULL| AUSTRALIAN_STATES | 8 | 920 | 3 (0)| 00:00:01 |
|* 7 | TABLE ACCESS FULL| GUTDATA | 8 | 520 | 4 (0)| 00:00:01 |
Predicate Information (identified by operation id):
2 - filter( NOT EXISTS (SELECT 0 FROM "AUSTRALIAN_STATES" "T2" WHERE "MDSYS"."SDO_ANYINTERACT"("T2"."GEOM","SDO_GEOM"."SDO_BUFFER"(:B1,10000,0.5,'UNIT=M'))='TRUE'))
4 - access("MDSYS"."SDO_ANYINTERACT"("T2"."GEOM","SDO_GEOM"."SDO_BUFFER"(:B1,10000,0.5,'UNIT=M'))='TRUE')
7 - filter("MDSYS"."SDO_ANYINTERACT"("T2"."GEOM","SDO_GEOM"."SDO_BUFFER"("T1"."GEOM",10000,0.5,'UNIT=M'))='TRUE')
Statistics
7 user calls
131072 physical read total bytes
0 physical write total bytes
0 spare statistic 3
0 commit cleanout failures: cannot pin
0 TBS Extension: bytes extended
0 total number of times SMON posted
0 SMON posted for undo segment recovery
0 SMON posted for dropping temp segment
0 segment prealloc tasksMuch slower but Materialized View friendly.
This one is a bit more "natural" but still slower than the first.
set serveroutput on timing on autotrace on
/* The set of all cities in municipalities */
WITH municipal_cities As (
SELECT T1.ID as City,
T2.ADMIN_NAME as Municipality,
T2.GEOM as geom
FROM GUTDATA T1
INNER JOIN
AUSTRALIAN_STATES T2 ON (SDO_ANYINTERACT(T2.GEOM, SDO_GEOM.SDO_BUFFER(T1.GEOM,10000,0.5,'UNIT=M')) = 'TRUE')
SELECT T1.ID as City,
T2.Municipality as Municipality,
T2.GEOM as geom
FROM GUTDATA T1
LEFT OUTER JOIN
municipal_cities T2
ON (T2.CITY = T1.ID);
762 rows selected
Elapsed: 00:00:50.228
Plan hash value: 745978991
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 762 | 44196 | 36 (3)| 00:00:01 |
|* 1 | HASH JOIN RIGHT OUTER| | 762 | 44196 | 36 (3)| 00:00:01 |
| 2 | VIEW | | 61 | 3294 | 33 (0)| 00:00:01 |
| 3 | NESTED LOOPS | | 61 | 10980 | 33 (0)| 00:00:01 |
| 4 | TABLE ACCESS FULL | AUSTRALIAN_STATES | 8 | 920 | 3 (0)| 00:00:01 |
|* 5 | TABLE ACCESS FULL | GUTDATA | 8 | 520 | 4 (0)| 00:00:01 |
| 6 | INDEX FAST FULL SCAN| GUTDATA_ID_PK | 762 | 3048 | 2 (0)| 00:00:01 |
Predicate Information (identified by operation id):
1 - access("T2"."CITY"(+)="T1"."ID")
5 - filter("MDSYS"."SDO_ANYINTERACT"("T2"."GEOM","SDO_GEOM"."SDO_BUFFER"("T1"."GEOM",10000,0.5,'UNIT=M'))='TRUE')
Statistics
7 user calls
49152 physical read total bytes
0 physical write total bytes
0 spare statistic 3
0 commit cleanout failures: cannot pin
0 TBS Extension: bytes extended
0 total number of times SMON posted
0 SMON posted for undo segment recovery
0 SMON posted for dropping temp segment
0 segment prealloc tasksFinally, the Pièce de résistance: trick the LEFT OUTER JOIN operator...
set serveroutput on timing on autotrace on
SELECT T1.SPECIES as City,
T2.ADMIN_NAME as Municipality,
T2.GEOM as geom
FROM GUTDATA T1
LEFT OUTER JOIN
AUSTRALIAN_STATES T2
ON (t2.admin_name = to_char(t1.ID) OR
SDO_ANYINTERACT(T2.GEOM, SDO_GEOM.SDO_BUFFER(T1.GEOM,10000,0.5,'UNIT=M')) = 'TRUE');
762 rows selected
Elapsed: 00:00:50.273
Plan hash value: 158854308
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 762 | 92964 | 2294 (1)| 00:00:28 |
| 1 | NESTED LOOPS OUTER | | 762 | 92964 | 2294 (1)| 00:00:28 |
| 2 | TABLE ACCESS FULL | GUTDATA | 762 | 49530 | 5 (0)| 00:00:01 |
| 3 | VIEW | | 1 | 57 | 3 (0)| 00:00:01 |
|* 4 | TABLE ACCESS FULL| AUSTRALIAN_STATES | 1 | 115 | 3 (0)| 00:00:01 |
Predicate Information (identified by operation id):
4 - filter("T2"."ADMIN_NAME"=TO_CHAR("T1"."ID") OR
"MDSYS"."SDO_ANYINTERACT"("T2"."GEOM","SDO_GEOM"."SDO_BUFFER"("T1"."GEOM",10000,0.5,'UNIT=M'))='TRUE')
Statistics
7 user calls
0 physical read total bytes
0 physical write total bytes
0 spare statistic 3
0 commit cleanout failures: cannot pin
0 TBS Extension: bytes extended
0 total number of times SMON posted
0 SMON posted for undo segment recovery
0 SMON posted for dropping temp segment
0 segment prealloc tasksTry these combinations to see what works for you.
Interestingly, for me, the following returns absolutely nothing.
SELECT T1.SPECIES as City,
T2.ADMIN_NAME as Municipality
FROM GUTDATA T1
LEFT OUTER JOIN
AUSTRALIAN_STATES T2
ON (SDO_ANYINTERACT(T2.GEOM, SDO_GEOM.SDO_BUFFER(T1.GEOM,10000,0.5,'UNIT=M')) = 'TRUE')
MINUS
SELECT T1.SPECIES as City,
T2.ADMIN_NAME as Municipality
FROM GUTDATA T1
LEFT OUTER JOIN
AUSTRALIAN_STATES T2
ON (t2.admin_name = to_char(t1.ID) OR
SDO_ANYINTERACT(T2.GEOM, SDO_GEOM.SDO_BUFFER(T1.GEOM,10000,0.5,'UNIT=M')) = 'TRUE');(I leave it to you to see if you can see why as the LEFT OUTER JOIN seems to be working correctly for me but I am not going to dedicate time to detailed checking of results.)
Note all tests performed on Oracle 11g R2 (11.2.0.1.0)
If you get the answer you want: mark the post as answered to assign points.
regards
Simon -
Has anybody noticed there is a huge bug in Oracle 9.2.0.1 ?
SELECT STRS.Text, STRS.Language
FROM CTY LEFT OUTER JOIN STRS
ON (STRS.Language='de' AND CTY.LanguageId=STRS.Num)
returns:
1 , 'Deutsch' , 'de'
2 , 'Deutsch' , 'de'
BUT if the condition is replaced by
ON ('de'=STRS.Language AND CTY.LanguageId=STRS.Num)
it returns:
1 , 'nìmecky' , 'cs'
2 , 'nìmecky' , 'cs'
That means the condition "'de'=STRS.Language" is effectively ignored !!I don't think that's a bug.
STRS.Language='de' is a where-condition and not a join-condition.
Try:
SELECT STRS.Text, STRS.Language
FROM CTY LEFT OUTER JOIN STRS
ON ( AND CTY.LanguageId=STRS.Num)
WHERE STRS.Language='de'; -
Issue on left outer join query in 10G
Dear Mr./Mrs./Ms. Oracle expertise,
The following query structure can function properly in Oracle 9i, but not work in Oracle 10G.
Please kindly advise what happened in Oracle 10G?
Is it a bug in 10G? If yes, any patch for it?
select a.col1,
a.col2,
a.col5,
b.col3,
b.col4
from t1 a
inner join t2 c on c.col1 = a.col1
left join (select col3
col4
from t3) b
on b.col1 = a.col1
and a.col2 = 'Y' <---------- seems 10G cannot allow this condition
where a.col5 = 123;
Purpose of above SQL
====================
Only those records from t1 table with a.col2 = 'Y' will
do the left outer join to "b" table and get the columns b.col3 and b.col4
Result set in Oracle 9i
=======================
col1 col2 col5 col3 col4
AAA N 111
BBB N 222
CCC Y 333 XYZ OOO
DDD Y 444 QPR 111
Result set in Oracle 10G
========================
col1 col2 col5 col3 col4
AAA N 111
BBB N 222
CCC Y 333
DDD Y 444
Rgds,
Ken ChanDear Schneider,
Sorry that there was a typo in my query.
Below is the revised query.
select a.col1,
a.col2,
a.col5,
b.col3,
b.col4
from t1 a
inner join t2 c on c.col1 = a.col1
left join (select col1,
col3,
col4
from t3) b
on b.col1 = a.col1
and a.col2 = 'Y' <---------- seems 10G cannot allow this condition
where a.col5 = 123;
Thanks.
Rgds,
ken Chan -
Left Outer Joining multiple tables to one source table FAILS with VLD-1511
Hi all,
Is it me, or is OWB unable to handle left outer joining 1 source table to multiple other tables?
I want to load a fact table so I have 1 source table with measures. This table must be outer joined to some dimensions that have their FK in the fact table.
The SQL statement would look like this (and is perfectly valid):
select ...
from input, dim1, dim2
where input.c1 = dim1.c1(+)
and input.c2 = dim2.c2(+);
I put the where clause in the joiner operator and validate, but that gives me message VLD-1511: A table may be outer joined to at most one other table.
Even splitting this up into one outer join per joiner still gives this message.
A search and look around on the forum and on metalink shows there are related issues (like bug 3334035). Seemingly creating a view is the work-around to use.....? (ie downgrading owb to a simple gui tool) }-;
Have other people experienced this problem of not being able to outer join one input table to multiple other tables?
Thanks,
EdI have had some feedback from Oracle. It turns out this has to do with 2 issues. Below I have pasted the text that Support gave me:
<---------- START QUOTE ---------->
RESEARCH
=========
Bug 3437036 KEY LOOKUP DOES NOT DETECT ORA-1417 IN VALIDATE/GENERATE STEP
Unpublished Bug 4211684 FORWARD PORT OF BUG 3437036
shows:
Some more development has been completed when this bug is fixed in Paris.
The following are the details:
1. If the join condition contains a full outer join such as
tab1.c (+) = tab2.c (+) and tab2.c (+) = tab3.c
then the new validations implemented for this bug do not apply since
in OWB, full outer join triggers generation of joins in ANSI syntax.
ANSI syntax does not have the original problem the base bug of this
bug reported.
2. If the join condition does not contain any full outer join condition,
then the join is generated in Oracle join syntax, which is subject two
several restrictions. The fix to this bug check two of the restrictions.
3. The first restriction in Oracle syntax is that the outer join operator
"(+)" can only directly be attached to a column name. If you attach it
to an expression, such as the following:
(tab1.c + 1) (+) = tab2.c
Then there will be an ORA-936 error at the time of mapping deployment.
For this case, I have added a validation message VLD-1512 to error out
this situation.
4. The second restriction in Oracle syntax is that a table can only be
outer joined to exactly one other table.
For example, this is an invalid join in Oracle syntax:
tab1.c (+) = tab2.c and tab1.d (+) = tab3.d
because tab1 is left outer joined to tab2 and tab3.
But note that the following is still valid in Oracle syntax:
tab1.c (+) = tab2.c and tab1.d = tab3.d (+)
because tab1 is left outer joined to tab2 and right outer joined to tab3.
So this latter case does not violate the restriction that "same oj" to
more than 1 table is not allowed.
If same oj to more than 1 table is specified in a join condition,
VLD-1511 will be issued, and the map is made invalid.
<---------- END QUOTE ---------->
OWB does a partial validation, ie not all access paths are (can be) checked. A full check is only done by the database itself. So some scenarios (like checking whether multiple tables are outer joined the correct way) are not checked, and in this case are flagged with an error (even though it is actually a correct scenario).
Seemingly this was not flagged with an error in earlier versions of OWB, so beware, OWB behaviour may change when upgrading...
Alternative solutions are (1) using key lookups, (2) using a view with all outer joins in there, (3) using intermediate result tables between the joins.
Hope this info helps some people prevent spending too much time on a false error message,
Ed -
Haven't seen a solution to this on the forum or in the docs. My last post timed out with no responses, but I still don't know if I have a possible solution.
I've got 2 objects, Task and Role, that are linked in a M-M relationship.
My tables are:
T_TASKS
T_TASKSROLES
T_ROLES
I am querying T_TASKS and joining on T_TASKSROLES and T_ROLES, but I need to use an outer join because not all Tasks have a Role in T_TASKSROLES.
In SQL Server, my FROM clause SHOULD look like this:
FROM (T_TASKSROLES t2 LEFT OUTER JOIN T_TASKS t1 ON t1.ID = t2.TASKID) LEFT OUTER JOIN T_ROLES t0 ON t0.ID = t2.ROLEID
however, if I use eb.anyOfAllowingNone(_roles) in my ExpressionBuilder. TopLink creates a LEFT OUTER JOIN clause that looks like this:
FROM T_ROLES t0 LEFT OUTER JOIN T_TASKS t1 ON((t0.ID = T_TASKSROLES.ROLEID) AND (t1.ID = T_TASKSROLES.TASKID))
I can see the logic in how it builds this clause. But, it doesn't parse in SQL Server.
Is there a way to effect how TopLink generates the FROM clause for outer joins? I mean, I understand how to use the XXXPlatform.java source files and can change whether to use OuterJoin in the WHERE clause or not. But, I can't see anything in the platform class that would allow me to figure this out.
I realize I could write SQL manually, but is there a way to do this so that the same code would work on SQL Server, Oracle, and Sybase (assuming the DatabaseLogin is configured appropriately)?
It just seems like LEFT OUTER JOIN when joining M-M relationships isn't generating proper SQL. Is the TopLink SQL SQL92-compliant?
I should add that I have tried to change SQLServerPlatform to have shouldPrintOuterJoinInWhereClause() return "true". This embeds a "=*" in the join conditions in the WHERE clause.
SQL Server 2000 still supports this syntax, but the "=*" isn't ALWAYS the correct operator. It is important to put the "*" on the correct side of the expression. TopLink always prints "=*", but the operators are not always in the correct order. So, it tries to create a "left join" on the wrong table.
So my other question, is it possible to force TopLink to remember to put the outer join table in the RIGHT SIDE?
NateThe workaround is actually more complicated than that, and it can't be fixed by changing only the operator.
In the queries you listed, the only difference is which side of the "AND" the expressions appear on.
Change "(t2.rightid (+)= t1.rightid)" to "(t1.rightid (+)= t2.rightid)" and I'm guessing (although not sure because I am testing with SQL Server at the moment), that you'll get a similar query error as I did.
The bug here is that the default M-M selection criteria creates "reltable = table1 AND table2 = reltable". There is no operator that can satisfy this expression.
So, the fix that I made, for all of my M-M Mappings was to set the SelectionCriteria manually using the following Expression (returned from this method):
// This puts M-M relationship tables on the same side of expressions so that OUTER JOINS can be supported.
private Expression getSameSideExpression() {
// target side
Expression selectionCriteria = null;
Enumeration e2 = getTargetKeyFields().elements();
Enumeration e = getTargetRelationKeyFields().elements();
ExpressionBuilder eb = new ExpressionBuilder();
Expression relTableExp = null;
while(e2.hasMoreElements()) {
DatabaseField df = (DatabaseField) e.nextElement();
DatabaseField df2 = (DatabaseField) e2.nextElement();
if(relTableExp == null){
relTableExp = eb.getTable(df.getTable());
Expression targetFieldExp = eb.getField(df2);
Expression relFieldExp = relTableExp.getField(df);
Expression joinExp = relFieldExp.equal(targetFieldExp);
if(selectionCriteria == null)
selectionCriteria = joinExp;
else
selectionCriteria = joinExp.and(selectionCriteria);
// source side
e = getSourceRelationKeyFields().elements();
e2 = getSourceKeyFields().elements();
while(e.hasMoreElements()) {
DatabaseField df = (DatabaseField) e.nextElement();
DatabaseField df2 = (DatabaseField) e2.nextElement();
Expression relFieldExp = relTableExp.getField(df);
Expression sourceFieldExp = eb.getParameter(df2);
Expression joinExp = relFieldExp.equal(sourceFieldExp);
if(selectionCriteria == null)
selectionCriteria = joinExp;
else
selectionCriteria = joinExp.and(selectionCriteria);
return selectionCriteria;
This changes the M-M Selection Criteria to "table1 = reltable AND table2 = reltable". Now that this is consistent, using the WHERE clause for my joins in SQL Server is possible.
If you can think of any other problems this change may have, please let me know.
Thanks for the help.
Nate -
BI Infoset left outer join (NW04s)
I created an Infoset using a left outer join for infoproviders:
- 0FIGL_O10 (GL transaction figures - DSO )
- 0CCA_C03 (CCA Statistical key figures - CUBE)
DSO 0FIGL_O10 is the left table with joins on:
- 0COSTCENTER
- 0FISCPER
The data set returned by Infoset appears to be based on a SQL using an
inner join.
This appears to be a bug.
We are on BI 700 SP 15.Hi Raynald - I did a demo with few records and it works fine for me. We are on 7, SP14.
-
Left outer join issue, please help
Hi All,
My oracle DB : 10G
I have 3 tables:
1) w_orders_fs
2) w_product_d
3) w_order_f
(Below are the scripts for creating these 3 tables along with data)
I have a sql which :
select o_fs.invoice_number
, o_fs.product_id o_fs_product_id
, p_d.product_id p_d_product_id
, p_d.row_wid_skey p_d_row_wid_skey
, o_f.product_wid_skey
from w_orders_fs o_fs
, w_product_d p_d
, w_orders_f o_f
where o_fs.invoice_number = 10
and o_fs.product_id = p_d.product_id(+)
and p_d.current_flg = 'Y'
and p_d.row_wid_skey = o_f.product_wid_skey(+)
and o_f.invoice_number = 10
which is giving me an output :
INVOICE_NUMBER|O_FS_PRODUCT_ID|P_D_PRODUCT_ID|P_D_ROW_WID_SKEY|PRODUCT_WID_SKEY
10|2|2|4|4
Desired output:
INVOICE_NUMBER|O_FS_PRODUCT_ID|P_D_PRODUCT_ID|P_D_ROW_WID_SKEY|PRODUCT_WID_SKEY
10|2|2|4|4
10|1|1|3|NULL
Now the overall objective is to pull the 2nd record of my desired output, my above query is not giving me this 2nd record since in my w_orders_f table product_wid_skey is not populated(one of the 2 records where invoice number = 10), I am just confused how to achieve this left outer join.
Please help.
Regards
Rahul
CREATE/INSERT SCRIPTS:
CREATE TABLE W_ORDERS_FS
INVOICE_NUMBER NUMBER(3),
INVOICE_DT DATE,
CREATED_BY NUMBER(6),
CREATED_ON_DT DATE,
CHANGED_BY NUMBER(6),
CHANGED_ON_DT DATE,
LAST_UPDATE_DT DATE,
CUSTOMER_ID NUMBER(6),
PRODUCT_ID NUMBER(2),
PRICE_PER_UNIT NUMBER(5),
STORE_ID NUMBER(4),
OTY_ORDERED NUMBER(5),
TOT_PRICE_BY_PRODUCT NUMBER,
ETL_PROC_WID VARCHAR2(100 BYTE),
DATASOURCE_NUM_ID INTEGER
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(10, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 160, 1, 8, 1000, 10, 80, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(10, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 160, 2, 25, 1000, 10, 250, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(11, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 20, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 161, 6, 9, 1100, 10, 90, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(12, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 5, 10, 1500, 10, 100, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(13, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 163, 5, 10, 2000, 10, 100, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(14, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 23, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 1, 8, 1400, 20, 160, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(15, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 2, 25, 2200, 5, 125, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(15, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 6, 9, 2200, 5, 45, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(15, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 5, 10, 2200, 5, 50, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(15, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 1, 8, 2200, 5, 40, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(16, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 165, 3, 10, 2200, 15, 150, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(16, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 165, 1, 8, 2200, 25, 200, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(16, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 165, 4, 1, 2200, 55, 55, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(16, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 5, 10, 2200, 55, 550, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(17, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 160, 1, 8, 1000, 10, 80, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(17, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 160, 7, 10, 1000, 10, 100, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(18, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 161, 1, 8, 1400, 10, 80, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(18, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 161, 7, 10, 1400, 10, 100, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 3, 10, 1100, 10, 100, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 4, 1, 1100, 10, 10, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(20, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 20, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 165, 5, 10, 3200, 10, 100, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(20, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 20, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 165, 6, 9, 3200, 10, 90, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 8, 5, 3200, 10, 50, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 2, 25, 3200, 10, 250, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 9, 1, 3200, 10, 10, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 10, 5, 3200, 5, 25, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(24, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 1, 8, 3200, 10, 80, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(24, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 10, 5, 3200, 5, 25, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(23, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 3, 10, 1100, 10, 100, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(23, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 162, 4, 1, 1100, 10, 10, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(22, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 23, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 1, 8, 3200, 10, 80, '22858060', 1);
Insert into W_ORDERS_FS
(INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, CUSTOMER_ID, PRODUCT_ID, PRICE_PER_UNIT, STORE_ID, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(22, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 23, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 164, 2, 25, 3200, 10, 250, '22858060', 1);
COMMIT;
CREATE TABLE W_PRODUCT_D
ROW_WID NUMBER(10),
ROW_WID_SKEY NUMBER(10,5),
PRODUCT_ID NUMBER(2) NOT NULL,
PRODUCT_NAME VARCHAR2(50 BYTE),
OTY_IN_STOCK NUMBER(5),
CREATED_BY NUMBER(2),
CREATED_ON_DT DATE,
CHANGED_BY NUMBER(2),
CHANGED_ON_DT DATE,
LAST_UPDATE_DT DATE,
W_INSERT_DT DATE,
W_UPDATE_DT DATE,
CURRENT_FLG VARCHAR2(1 BYTE),
ORIGINAL_QUANTITY NUMBER(10),
ETL_PROC_WID VARCHAR2(100 BYTE),
DATASOURCE_NUM_ID NUMBER
Insert into W_PRODUCT_D
(ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(1, 1, 7, '7up', 180, 20, TO_DATE('06/04/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 200, '22858060', 1);
Insert into W_PRODUCT_D
(ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(2, 2, 8, 'Nestle munch', 990, 23, TO_DATE('06/05/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 1000, '22858060', 1);
Insert into W_PRODUCT_D
(ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, CHANGED_BY, CHANGED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(3, 3, 1, 'Coca cola mini', 0, 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/18/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 100, '22858060', 1);
Insert into W_PRODUCT_D
(ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, CHANGED_BY, CHANGED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(4, 4, 2, 'coca cola peg bottle', 465, 20, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/16/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 500, '22858060', 1);
Insert into W_PRODUCT_D
(ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, CHANGED_BY, CHANGED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(5, 5, 3, 'ruffle lays', 965, 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/17/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 1000, '22858060', 1);
Insert into W_PRODUCT_D
(ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, CHANGED_BY, CHANGED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(6, 6, 4, 'center fresh', 9925, 23, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/17/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 10000, '22858060', 1);
Insert into W_PRODUCT_D
(ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(7, 7, 5, 'Mirinda', 10, 20, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 100, '22858060', 1);
Insert into W_PRODUCT_D
(ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(8, 8, 6, 'pepsi', 25, 20, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 50, '22858060', 1);
Insert into W_PRODUCT_D
(ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(9, 9, 9, 'Mentos mint', 990, 20, TO_DATE('06/13/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 1000, '22858060', 1);
Insert into W_PRODUCT_D
(ROW_WID, ROW_WID_SKEY, PRODUCT_ID, PRODUCT_NAME, OTY_IN_STOCK, CREATED_BY, CREATED_ON_DT, CHANGED_BY, CHANGED_ON_DT, LAST_UPDATE_DT, W_INSERT_DT, CURRENT_FLG, ORIGINAL_QUANTITY, ETL_PROC_WID, DATASOURCE_NUM_ID)
Values
(10, 10, 10, 'Marie gold biscuit', 0, 20, TO_DATE('06/13/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 23, TO_DATE('06/18/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/18/2013 13:29:24', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/19/2013 11:09:35', 'MM/DD/YYYY HH24:MI:SS'), 'Y', 10, '22858060', 1);
COMMIT;
CREATE TABLE W_ORDERS_F
ROW_WID NUMBER,
INVOICE_NUMBER NUMBER(3),
INVOICE_DT DATE,
CREATED_BY NUMBER(6),
CREATED_ON_DT DATE,
CHANGED_BY NUMBER(6),
CHANGED_ON_DT DATE,
LAST_UPDATE_DT DATE,
PRODUCT_WID_SKEY NUMBER(15),
PRICE_PER_UNIT NUMBER(5),
OTY_ORDERED NUMBER(5),
TOT_PRICE_BY_PRODUCT NUMBER,
W_INSERT_DT DATE,
TIME_WID VARCHAR2(29 BYTE),
DAY_NUM_OF_WEEK NUMBER,
MONTH_END_DT DATE,
QUARTER_NUM_OF_YEAR NUMBER,
YEAR_END_DT DATE,
ETL_PROC_WID VARCHAR2(100 BYTE),
DATASOURCE_NUM_ID INTEGER,
INTEGRATION_ID VARCHAR2(100 BYTE)
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(1, 10, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -8, 8, 10, 80, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '10~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(2, 10, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 4, 25, 10, 250, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '10~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(3, 11, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 20, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 8, 9, 10, 90, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '11~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(4, 12, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 7, 10, 10, 100, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '12~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(5, 13, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 7, 10, 10, 100, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '13~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(6, 14, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 23, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -8, 8, 20, 160, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '14~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(7, 15, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 4, 25, 5, 125, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '15~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(8, 15, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 8, 9, 5, 45, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '15~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(9, 15, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 7, 10, 5, 50, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '15~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(10, 15, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -8, 8, 5, 40, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '15~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(11, 16, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 5, 10, 15, 150, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '16~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(12, 16, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -8, 8, 25, 200, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '16~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(13, 16, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 6, 1, 55, 55, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '16~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(14, 16, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 7, 10, 55, 550, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '05282013', 3, TO_DATE('05/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '16~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(15, 17, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -8, 8, 10, 80, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '17~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(16, 17, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 1, 10, 10, 100, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '17~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(17, 18, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -8, 8, 10, 80, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '18~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(18, 18, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 1, 10, 10, 100, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '18~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(19, 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 5, 10, 10, 100, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '19~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(20, 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 19, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 6, 1, 10, 10, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '19~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(21, 20, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 20, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 7, 10, 10, 100, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '20~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(22, 20, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 20, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 8, 9, 10, 90, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '20~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(23, 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, 5, 10, 50, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '21~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(24, 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 4, 25, 10, 250, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '21~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(25, 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 9, 1, 10, 10, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '21~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(26, 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 21, TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/14/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 10, 5, 5, 25, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06142013', 6, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '21~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(27, 24, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -8, 8, 10, 80, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06182013', 3, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '24~1');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(28, 24, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/18/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 10, 5, 5, 25, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06182013', 3, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '24~1');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(29, 23, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 5, 10, 10, 100, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06172013', 2, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '23~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(30, 23, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 22, TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 6, 1, 10, 10, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06172013', 2, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '23~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(31, 22, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 23, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -8, 8, 10, 80, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06162013', 1, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '22~');
Insert into W_ORDERS_F
(ROW_WID, INVOICE_NUMBER, INVOICE_DT, CREATED_BY, CREATED_ON_DT, LAST_UPDATE_DT, PRODUCT_WID_SKEY, PRICE_PER_UNIT, OTY_ORDERED, TOT_PRICE_BY_PRODUCT, W_INSERT_DT, TIME_WID, DAY_NUM_OF_WEEK, MONTH_END_DT, QUARTER_NUM_OF_YEAR, YEAR_END_DT, ETL_PROC_WID, DATASOURCE_NUM_ID, INTEGRATION_ID)
Values
(32, 22, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 23, TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('06/16/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 4, 25, 10, 250, TO_DATE('06/19/2013 12:17:41', 'MM/DD/YYYY HH24:MI:SS'), '06162013', 1, TO_DATE('06/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, TO_DATE('12/31/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), '22858060', 1, '22~');
COMMIT;This works:
select o_fs.invoice_number
, o_fs.product_id o_fs_product_id
, p_d.product_id p_d_product_id
, p_d.row_wid_skey p_d_row_wid_skey
, o_f.product_wid_skey
from w_orders_fs o_fs
, w_product_d p_d
, w_orders_f o_f
where o_fs.invoice_number = 10
and o_fs.product_id = p_d.product_id(+)
and p_d.current_flg(+) = 'Y'
and p_d.row_wid_skey = o_f.product_wid_skey(+)
and o_f.invoice_number(+) = 10
If you want to outer join to a table, you have to include a ( + ) on each of its columns in the where clause (or cope with them possibly being null). Personally, I find ANSI syntax easier to work with when dealing with outer joins:
select o_fs.invoice_number
, o_fs.product_id o_fs_product_id
, p_d.product_id p_d_product_id
, p_d.row_wid_skey p_d_row_wid_skey
, o_f.product_wid_skey
from w_orders_fs o_fs
left outer join w_product_d p_d
on o_fs.product_id = p_d.product_id
and p_d.current_flg = 'Y'
left outer join w_orders_f o_f
on p_d.row_wid_skey = o_f.product_wid_skey
and o_f.invoice_number = 10
where o_fs.invoice_number = 10 -
Left Outer Join Help...
Hi Everyone,
I am still in the process of learning SQL, and I am having trouble specifically with the the left outer join. I normally join tables using equijoin's, but I am not getting the right data set returns, and thought the using a left or right outer join would resolve the problem...
Here is my SQL that is working properly with 1 left outer join. I am building the query slowly so in the next SQL you will see where I am seeing the error. I don't expect you to understand the data and columns I am trying to join, I believe the problems I am experiencing are related to syntax, and I am hoping you can find where my syntax errors are.
select
s.name as "Screen Name",
sv.view_name as "View Name",
s_view.name
from
s_screen s,
s_screen_view sv
left outer join s_view
ON (sv.view_name = s_view.name)
where
sv.screen_id = '1-866A-1X3LU' and
s.row_id = sv.screen_id and
s.repository_id = '1-866A-1' and
s_view.repository_id = '1-866A-1';
Here is the SQL where I am experiencing the following error...
Error:
ORA-00904: "SV"."VIEW_NAME": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
Error at Line: 14 Column: 7
Problematic SQL:
select
s.name as "Screen Name",
sv.view_name as "View Name",
s_view.name,
s_applet.name as Applet
--a.name as "Applet Name"
from
s_screen s,
s_screen_view sv,
s_view_wtmpl_it wti
left outer join s_view
ON (sv.view_name = s_view.name)
left outer join s_applet
ON (wti.name = s_applet.name)
where
sv.screen_id = '1-866A-1X3LU' and
s.row_id = sv.screen_id and
s.repository_id = '1-866A-1' and
s_view.repository_id = '1-866A-1';
Thanks in advance for your help.
ChrisHi,
cjpicc11 wrote:
What is an Oracle style join vs. ANSI join?
Would this be Oracle Style or ANSI Join?
left outer join s_view
ON (sv.view_name = s_view.name)
left outer join s_applet
Would this be Oracle Style or ANSI Join?
s.row_id = sv.screen_id
"Oracle style" or "old style" joins have commas between tables in the FROM clause, and the join conditions are all in the WHERE clause. They do not use the keywords JOIN or ON.
ANSI style joins have the keyword JOIN between tables (sometimes accompanied by other keywords, such as LEFT, OUTER or CROSS), and the join conditions are given in the FROM clause, usually after the keyword ON.
The first example you gave is an ANSI style join. It has the JOIN keyword, not a comma, between tables.
The second example you gave:
s.row_id = sv.screen_id
could be part of either. It could occur in an ANSI join (in the FROM clause, after the keyword ON), or it could occur in an old-style join (in the WHERE clause).
Maybe you are looking for
-
Forever flashing amber - not working anymore
I have a cat-5 running from my DSL modem into the time machine, then back out to my iMac. While the internet connection seems fine, time machine no longer works (isn't backing up) and isn't "findable" wirelessly by my laptop. It used to work fine...
-
Trouble with Apple TV Model A1378
I bought this in late 2011 and it worked fine until the last few months. Let me also say that I had to get the hard drive for my iMAC replaced recently. I have a lot of photos in iPhoto - most of these come from the Internet - old, vintage photos.
-
Dear All We are trying to make the IBAN field required if bank country is SA. For this we are tryign to activate user exit SAPMF02K. But we check in this user exit field IBAN is not available in any of the table. if some one has use this user exit fo
-
What software do I need to install to play some games MacBook Pro Mid 2014
Hello, what software do I need to install to play some games - MacBook Pro Mid 2014. Games like : Alan Wake, Assassin's Creed, Boarderlands 2, FarCry series, Crysis, etc.
-
I'm working on a project that ends with a white slide, which is being used as the fade out screen. But the client would like the second to the last slide (the last slide in the presentation) to fade out completely before transitioning to actual final