Left Outer Join & IS NULL Not Working

In a Data Flow Query element I am using a Left Outer Join to correlate two tables. In order to eliminate rows in which the Left Outer Join found a match with the Right table I am using IS NULL in the Where clause. Unfortunately IS NULL doesn't seem to return true when the NULL is caused by a lack of a match on a Left Outer Join. Has anybody been able to work around this?

Use not is NULL in next query after the join.
A source 1 ---
                       C (join query) ----- D (filter condition IS NULL)
B source 2 ---

Similar Messages

  • Outer join (with (+)) does not work

    I started with a working SQL statement:
    SELECT DISTINCT username, r.granted_role
    FROM dba_users u, dba_sys_privs s, dba_tab_privs t, dba_role_privs r
    WHERE u.username = s.grantee
    AND u.username = t.grantee
    AND u.username = r.grantee
    ORDER BY username, r.granted_role;
    Fine, now I want to add two columns which indicate which of the users have SYSDBA and SYSOPER privileges.
    As in another post told this can be achieved by:
    SELECT * FROM V$PWFILE_USERS;
    When I want to merge these two SQL statements I need an outer join but the following does not work:
    SELECT DISTINCT u.username, r.granted_role, v.SYSDB, v.SYSOP
    FROM dba_users u, dba_sys_privs s, dba_tab_privs t, dba_role_privs r, V$PWFILE_USERS v
    WHERE u.username = s.grantee
    AND u.username = t.grantee
    AND u.username = r.grantee
    AND u.username = v.username(+)
    ORDER BY u.username, r.granted_role;
    I got an error message:
    SELECT DISTINCT u.username, r.granted_role, v.SYSDB, v.SYSOP
    ERROR at line 1:
    ORA-06553: PLS-306: wrong number or types of arguments in call to 'V'
    Why?

    Run this
    SELECT DISTINCT u.username, r.granted_role, v.SYSDBA, v.SYSOPER
               FROM dba_users u,
                    dba_sys_privs s,
                    dba_tab_privs t,
                    dba_role_privs r,
                    v$pwfile_users v
              WHERE u.username = s.grantee
                AND u.username = t.grantee
                AND u.username = r.grantee
                AND u.username = v.username(+)
           ORDER BY u.username, r.granted_role;- - - - - - - - - - - - - - - - - - - - -
    Kamran Agayev A. (10g OCP)
    http://kamranagayev.wordpress.com

  • 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

  • Using Command to fix null / left outer join issue

    Hi
    I was told awhile ago that it's possible to fix crystal's issue with left outer join and null records being eliminated.
    I think i remember most of how this goes, but i can't seem to duplicate it.
    1) You can't have any select expert -- record
    2) You create the report normally and then make a new report using the SQL Query
         - Can't remember if its the whole report or upto the tables that have hisotry (null results)
    3) You move parts from WHERE to FROM
    Hopefully someone can help correct the steps i'm doing wrong or add what i'm missing from this.
    Below is the Query from my comlpeted report, but when i run it with the last LEFT OUTER JOIN added it removes all the products with no sales during that year.
    Any help would be greatly appreciated even if it's to say this can't be done.
    SELECT
    "prod_warehouse"."pw_whs_id",
    "prod_warehouse"."pw_prodline_id",
    "prod_warehouse"."pw_prod_id",
    "prod_warehouse"."pw_bin_location1",
    "prod_warehouse"."pw_min_onhand_qty",
    "prod_warehouse"."pw_max_onhand_qty",
    "prod_warehouse"."pw_onhand_qty",
    "product_lookup"."prlkp_lang1_1_desc",
    "prod_customer"."prcu_cust_part_num",
    "contract_details"."cond_level1_amt",
    "sales_history"."sah_year"
    FROM   (((("sisl_data05"."dbo"."products" "products"
    LEFT OUTER  JOIN "sisl_data05"."dbo"."prod_warehouse" "prod_warehouse"
    ON ("products"."pr_prod_id"="prod_warehouse"."pw_prod_id")
    AND ("products"."pr_prodline_id"="prod_warehouse"."pw_prodline_id"))
    LEFT OUTER JOIN "sisl_data05"."dbo"."product_lookup" "product_lookup"
    ON ("products"."pr_prod_id"="product_lookup"."prlkp_prod_id")
    AND ("products"."pr_prodline_id"="product_lookup"."prlkp_prodline_id"))
    LEFT OUTER JOIN "sisl_data05"."dbo"."prod_customer" "prod_customer"
    ON ("products"."pr_prod_id"="prod_customer"."prcu_prod_id")
    AND ("products"."pr_prodline_id"="prod_customer"."prcu_prodline_id"))
    LEFT OUTER JOIN "sisl_data05"."dbo"."contract_details" "contract_details"
    ON "prod_warehouse"."pw_prod_id"="contract_details"."cond_prod_id")
    LEFT OUTER JOIN "sisl_data05"."dbo"."sales_history" "sales_history"
    ON (("prod_warehouse"."pw_whs_id"="sales_history"."sah_sortkey1")
    AND ("prod_warehouse"."pw_prod_id"="sales_history"."sah_sortkey2"))
    AND ("prod_warehouse"."pw_prodline_id"="sales_history"."sah_sortkey3")
    WHERE
    "prod_warehouse"."pw_whs_id"='20123'
    AND ("prod_warehouse"."pw_onhand_qty"<>0
    OR "prod_warehouse"."pw_bin_location1"<>'  '
    OR "prod_warehouse"."pw_max_onhand_qty">0)
    AND "sales_history"."sah_year"=2014
    ORDER BY "prod_warehouse"."pw_bin_location1", "prod_warehouse"."pw_prod_id"

    Try this:
    SELECT
    prod_warehouse.pw_whs_id,
    prod_warehouse.pw_prodline_id,
    prod_warehouse.pw_prod_id,
    prod_warehouse.pw_bin_location1,
    prod_warehouse.pw_min_onhand_qty,
    prod_warehouse.pw_max_onhand_qty,
    prod_warehouse.pw_onhand_qty,
    product_lookup.prlkp_lang1_1_desc,
    prod_customer.prcu_cust_part_num,
    contract_details.cond_level1_amt,
    sales_history.sah_year
    FROM sisl_data05.dbo.products products
      LEFT OUTER  JOIN sisl_data05.dbo.prod_warehouse prod_warehouse
        ON products.pr_prod_id=prod_warehouse.pw_prod_id
        AND products.pr_prodline_id=prod_warehouse.pw_prodline_id
      LEFT OUTER JOIN sisl_data05.dbo.product_lookup product_lookup
        ON products.pr_prod_id=product_lookup.prlkp_prod_id)
        AND products.pr_prodline_id=product_lookup.prlkp_prodline_id
      LEFT OUTER JOIN sisl_data05.dbo.prod_customer prod_customer
        ON products.pr_prod_id=prod_customer.prcu_prod_id
        AND products.pr_prodline_id=prod_customer.prcu_prodline_id
      LEFT OUTER JOIN sisl_data05.dbo.contract_details contract_details
        ON prod_warehouse.pw_prod_id=contract_details.cond_prod_id
      LEFT OUTER JOIN sisl_data05.dbo.sales_history sales_history
        ON prod_warehouse.pw_whs_id=sales_history.sah_sortkey1
        AND prod_warehouse.pw_prod_id=sales_history.sah_sortkey2
        AND prod_warehouse.pw_prodline_id=sales_history.sah_sortkey3
        AND sales_history.sah_year = 2014
    WHERE prod_warehouse.pw_whs_id='20123'
      AND (prod_warehouse.pw_onhand_qty<>0
        OR prod_warehouse.pw_bin_location1<>'  '
        OR prod_warehouse.pw_max_onhand_qty>0)
    Take a look at what I've done with the last line of the last join.  The issue is that when you left join to a table and you use that table in the Where clause, you've basically turned your you left outer join into an inner join because the record has to be there in order to get the value in the filter.  By moving the filter into the join, you'll still get the rest of the data when there is no corresponding record.
    NOTE:  Crystal adds all sorts of "extra" stuff like quotes and parentheses that you don't need and which I have removed to make the query easier to read.
    -Dell

  • Left outer join functions like simple join

    I created two views SCO_REQGROSSLINES_V & SCO_REQLINESCOMPLETE on Oracle requisitions base tables. Our business rules enforce the following identity: the number of gross requisition lines will always be greater than or equal to the number of requisition lines complete. (By complete I mean delivered.)
    Each view has a key named DATESUBINV_KEY constructed of a transaction date and the subinventory code using this logic:
    , TO_CHAR(TRUNC(transaction_date),'YYYYMMDD') || subinventory_code
    On 03-SEP-2010 a user created a requisition with one line item for material from the HEAT subinventory which was not delivered. This row is retuned in the result set when I query on SCO_REQGROSSLINES_V but is NOT returned when I query on SCO_REQLINESCOMPLETE. So far so good.
    When I issue either of the the following left outer joins I do not get the row for the row for the HEAT subinventory on 03-SEP-2010:
    select rgl.trxn_date
    , rgl.subinventory
    , rgl.line_count gross_line_count
    , rgl.ext_prc gross_value
    , rlc.line_count lines_filled
    , rlc.ext_prc lines_filled_value
    from SCO_REQGROSSLINES_V rgl left outer join sco_reqlinescomplete_v rlc
    ON rgl.datesubinv_key = rlc.datesubinv_key
    where rgl.TRXN_DATE BETWEEN to_date('29-AUG-2010') AND to_date('04-SEP-2010')
    and rlc.trxn_date BETWEEN to_date('29-AUG-2010') AND to_date('04-SEP-2010')
    order by rgl.trxn_date, rgl.subinventory
    select rgl.trxn_date, rgl.subinventory
    , rgl.line_count gross_line_count
    , rgl.ext_prc gross_value
    , rlc.line_count lines_filled
    , rlc.ext_prc lines_filled_value
    from SCO_REQGROSSLINES_V rgl
    , sco_reqlinescomplete_v rlc
    where rgl.TRXN_DATE BETWEEN to_date('29-AUG-2010') AND to_date('04-SEP-2010')
    and rlc.trxn_date BETWEEN to_date('29-AUG-2010') AND to_date('04-SEP-2010')
    AND rgl.datesubinv_key = rlc.datesubinv_key(+)
    order by rgl.trxn_date, rgl.subinventory
    Question: Why would the left outer joins function as a simple join on DATESUBINV_KEY? Do keys on views function differently than keys defined in the data dictionary? If they do how can I make these keys to function like data dictionary keys?

    Hi,
    The WHERE clause is applied after the outer join is completed. In your example, rows from rgl will be in the result set even if they have no match in rlc. In those cases, all the columns from rlc will be NULL.
    Okay, so you have these rows that contain data from rgl but NULLs where the data from rlc was supposed to go. Now it's time to start the WHERE clause. You then apply conditions like this in the WHERE clause:
    AND     rlc.trxn_date BETWEEN ...NULL is between anything, so the row that the outer join prodeuced is rejected.
    All conditions involivn columns from rlc probably need to be part of the join condition, not the WHERE clause.
    For example, in you first query the FROM and WHERE clauses might be:
    FROM          sco_reqgrosslines_v      rgl
    LEFT OUTER JOIN  sco_reqlinescomplete_v  rlc  ON    rgl.datesubinv_key   = rlc.datesubinv_key
                                            AND   rlc.trxn_date       BETWEEN TO_DATE ( '29-AUG-2010'
                                                                        , 'DD-MON-YYYY'
                                                  AND       TO_DATE ( '04-SEP-2010'
                                                              , 'DD-MON-YYYY'
    WHERE   rgl.trxn_date     BETWEEN TO_DATE ( '29-AUG-2010'
                             , 'DD-MON-YYYY'
                   AND     TO_DATE ( '04-SEP-2010'
                             , 'DD-MON-YYYY'
                             )Always use (at least) two arguments when calling TO_DATE.
    Conditions that only involve rgl can be in the WHERE clause, but if any conditions from rlc are in the WHERE clause, then the effect will be the same as an inner join.
    There no difference between tables and views (or sub-queries) in this regard: the same thing would happen regardless of whether rgl and rlc were really tables or not.

  • Left Outer Join Not working in BI 7.0 Infoset

    Hi All,
    I am working on BI 7.0. I have to create a report where I have to display the Target values from a target DSO against the transactional data (Operational data).
    I have a DSO where for a “subteam” value target has been set up on different KPIs.
    In the Info Cube, I have transactional data on daily basis per “subteam”. I have to show the actual and target values.
    I have created an Info Set using Target DSO and Daily operational cube, so that I should able to compare the target and actual values of KPIs, for all the “subteam” values (From DSO, irrespective of whether the data is available in cube for those sub team).
    I have used Outer Left Join in the Info set (DSO on left side), but I am unable to see the desired results. It is working just like an inner join.
    Any Idea why the Outer Left Join is not working? The DSO has only one fey field called “subteam” on which I have set outer left join.
    Regards,
    Amit

    Hi,
    did you solve your problem? because I have the same issue right now: the left outer join doesn't seem to do its job.
    Let me know if you have found a solution, it would be appreciated.
    have a nice day,
    Dominic

  • LEFT OUTER JOIN not working as expected

    I'm testing a query from the portal. I've got two inputs:
    products
    {"ProductKey":1,"ProductAlternateKey":"abc","Color":"Red"},
    {"ProductKey":2,"ProductAlternateKey":"def","Color":"Blue"},
    {"ProductKey":3,"ProductAlternateKey":"ghi","Color":"Blue"}
    And temperatures:
    {"DeviceId":1,"Temperature":99},
    {"DeviceId":2,"Temperature":90},
    {"DeviceId":2,"Temperature":99},
    {"DeviceId":3,"Temperature":50},
    {"DeviceId":4,"Temperature":32}
    When I test a query with an (inner) join, I get two rows, one for Red and one for Blue as expected. However, when I change to a LEFT OUTER JOIN, I would expect to get three rows... one for Red, one for Blue, and one for NULL color. However, I only get one
    row with a NULL color. Here's the query. Is this a bug or am I misunderstanding?
    SELECT DateAdd(second,-5,System.TimeStamp) as WinStartTime
    , system.TimeStamp as WinEndTime
    , b.Color
    , Avg(r.Temperature) as AvgTemperature
    , Count(*) as EventCount
    FROM temperatures r
    LEFT OUTER JOIN products b ON r.DeviceId = b.ProductKey and DATEDIFF(hour,r,b) BETWEEN -6 AND 6
    GROUP BY TumblingWindow(second, 5), b.Color
    (Please excuse the contrived example, the lack of timestamps, and the 12 hour window... just testing.)
    http://artisconsulting.com/Blogs/GregGalloway

    Hi Greg,
    Thank you for raising this issue.
    We have deployed a fix today that corrects LEFT OUTER JOIN behavior on the in-browser query testing experience.
    Can you please confirm that the above query and input sources work for you?
    Thanks!
    Ziv.

  • Left Outer Join not working in Infoset.

    Hello Friends,
    I have two ODSes , one for planned data (zplan) and other is billing z ods (zsd_o03).
    now the situation is such that in my planned ODS  for one sold to party .
    SOLD TO        MATERRIAL CALMONT     PLANNED QUANTIY
    14315            100                06.2007           54
    14315            200                06.2007           20
    14315            300                06.2007           30
    14315            400                06.2007           10
    But in my Billing ODS iam having for Sold to 14315
    SOLD TO        MATERRIAL CALMONT     ACTUAL QUANTIY
    14315           100           06.2007                  20
    14315           200           06.2007                  30
    And my Bex ouput should be like
    SOLD TO        MATERIAL CALMONT        planned             ACTUAL QUANTIY
    14315            100                06.2007           54                                 20
    14315            200                06.2007           20                                30
    14315            300                06.2007           30                                  0
    14315            400                06.2007           10                                0
    So for this i made one Infoset and these ODses are linked by Sold_to , Materail,
    Calmonth.
    First i tried using Inner joing option , but the bottom two lines were not ciming , so used left outer join , and activated and recreated the query but still its showiong me the output same as inner join .. i.e
    14315            100                06.2007           54                                 20
    14315            200                06.2007           20                                30
    So i checked by writing a ABAP code in Se38 , but there its showing me the correct result ..
    So please anybody help me out because iam thinking that infoset is the right way to do this kind of reporting , or esle shall i make one ODS and populate it through this ABAP code..
    Thanks in advance.

    Hi , can anybody help me in this regard..
    Thanks ..

  • Difference between merge-Not matched and left outer join

    Why should Merge-Not Matched be used instead of left outer join? I believe both will enable comparison of 2 tables. So what is the difference. Please advice.
    mayooran99

    MERGE is way to encapsulate all conditions within single statement
    The equivalent implementation using join would require three different statements 
    1 UPDATE using INNER JOIN
    1 INSERT using LEFT JOIN
    and 1 DELETE using LEFT JOIN in reverse order
    Both approaches work fine
    so all that you need to do is left join operation to find difference you can use either
    But MERGE has one additional advantage in case you need to get output from MERGE and use it for further manipulation like further insert to child table
    I've explained it here
    http://visakhm.blogspot.in/2014/09/t-sql-tips-multifaceted-merge-statement.html
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • SQL Select using LEFT OUTER JOIN returning field values when I expect NULL

    I am having problems with this select statement:
    SELECT distinct pl.id, th.trip, pc.country, pph.location
    FROM people_list pl, people_travelhistory th, people_country pc
    LEFT OUTER JOIN people_info pph on pph.id=pl.id and pph.country=pc.country
    where people_list.active='Y' and people_list.id=th.id and th.trip = pc.trip;
    The criteria is that the pph table may not have no record for that id and country.
    The problem is that the pph.location field is returned with data even when no matching record for that id or country exists.
    If the record doesn't exist in the pph table, I want pph.location = NULL
    What am I doing wrong?
    Thanks in Advance!
    Developer

    Hi, You can try this :
    SELECT distinct pl.id, th.trip, pc.country, pph.location
    FROM people_list pl, people_travelhistory th, people_country pc
    left outer join people_info pph on pph.id = pl.id
    left outer join people_country pc on pc.country = pph.country
    left outer join people_travelhistory th on th.id = pl.id
    where pl.active='Y' and th.trip = pc.trip;
    Knowing that you requesting people active that have travelled to their own country.
    Regards

  • Why Left Outer Join Doesn't Work?

    Hello
    I have a query that I want to return all group id's in the grp_id table and count and give me a count of all members that are "active" in the member table. There are some members that are not active in the member table that belong to groups in the grp_id table. I still want a record returned for those grpid's, though since there are no active members for those groups, I would want a zero as the mbr_count. An active mbr is one whose eff_dt is less than today's date and whose exp_dt is greater than todays date.
    I have listed the query below, which returns active mbr records, but unfortuntely, does not return the one grpid (as in my sample data) that does not have an active member (grpid: 'D'). I have also provided the DDL for the two tables along with some sample data that gives me the (Incorrect) results I have posted. I have also posted what results I need (the 'Correct' results).
    Thanks for any assistance.. (I am using PL/SQL)
    QUERY I AM USING:
    =============
    SELECT
    g00.grpid,
    count(m00.grpid) mbr_count
    FROM
    grp_id g00
    LEFT OUTER JOIN
    mbr m00 on
    g00.grpid = m00.grpid
    WHERE
    m00.eff_dt < sysdate
    AND
    m00.exp_dt > sysdate
    GROUP BY
    g00.grpid
    it gives me results as:
    INCORRECT RESULTS:
    ===============
    GRPID     MBR_COUNT
    A     2
    B     2
    C     1
    What I want to see is:
    CORRECT RESULTS
    ===============
    GRPID     MBR_COUNT
    A     2
    B     2
    C     1
    D     0
    Here is the DDL's and Sample Data:
    create table grp_id (grpid varchar(1))
    insert into grp_id values ('A')
    insert into grp_id values ('B')
    insert into grp_id values ('C')
    insert into grp_id values ('D')
    commit
    create table mbr (mbr_name varchar(10), grpid varchar(1), eff_dt date, exp_dt date)
    insert into mbr values ('MARK', 'A', to_date('01-01-2011', 'MM-DD-YYYY'), to_date('07-01-2011', 'MM-DD-YYYY'))
    insert into mbr values ('MARK', 'A', to_date('07-01-2011', 'MM-DD-YYYY'), to_date('01-01-2012', 'MM-DD-YYYY'))
    insert into mbr values ('MARTY', 'A', to_date('01-01-2011', 'MM-DD-YYYY'), to_date('07-01-2011', 'MM-DD-YYYY'))
    insert into mbr values ('MARTY', 'A', to_date('07-01-2011', 'MM-DD-YYYY'), to_date('01-01-2012', 'MM-DD-YYYY'))
    insert into mbr values ('FRANK', 'B', to_date('01-01-2011', 'MM-DD-YYYY'), to_date('07-01-2011', 'MM-DD-YYYY'))
    insert into mbr values ('FRANK', 'B', to_date('07-01-2011', 'MM-DD-YYYY'), to_date('01-01-2012', 'MM-DD-YYYY'))
    insert into mbr values ('MARY', 'B', to_date('01-01-2011', 'MM-DD-YYYY'), to_date('07-01-2011', 'MM-DD-YYYY'))
    insert into mbr values ('MARY', 'B', to_date('07-01-2011', 'MM-DD-YYYY'), to_date('01-01-2012', 'MM-DD-YYYY'))
    insert into mbr values ('JEAN', 'C', to_date('01-01-2011', 'MM-DD-YYYY'), to_date('07-01-2011', 'MM-DD-YYYY'))
    insert into mbr values ('JEAN', 'C', to_date('07-01-2011', 'MM-DD-YYYY'), to_date('01-01-2012', 'MM-DD-YYYY'))
    insert into mbr values ('NOAM', 'D', to_date('01-01-2011', 'MM-DD-YYYY'), to_date('07-01-2011', 'MM-DD-YYYY'))

    Thanks for the script, shame about the missing semi-colons :)
    Your restrictions on date are implemented as "filter predicates" rather than "join predicates".
    i.e. the difference between a WHERE instead of extra ANDs in the JOIN clause.
    SQL> SELECT
      2  g00.grpid,
      3  count(m00.grpid) mbr_count
      4  FROM
      5  grp_id g00
      6  LEFT OUTER JOIN
      7  mbr m00 on
      8  g00.grpid = m00.grpid
      9  WHERE
    10  m00.eff_dt < sysdate
    11  AND
    12  m00.exp_dt > sysdate
    13  GROUP BY
    14  g00.grpid
    15  /
    G  MBR_COUNT
    A          4
    B          4
    C          2
    SQL> SELECT
      2  g00.grpid,
      3  count(m00.grpid) mbr_count
      4  FROM
      5  grp_id g00
      6  LEFT OUTER JOIN
      7  mbr m00 on
      8  g00.grpid = m00.grpid
      9  AND
    10  m00.eff_dt < sysdate
    11  AND
    12  m00.exp_dt > sysdate
    13  GROUP BY
    14  g00.grpid;
    G  MBR_COUNT
    D          0
    A          4
    B          4
    C          2
    SQL>

  • Left Outer Join with more than two tables in both CR 8.5 and XIR2

    I am trying to create a report and I have tried two versions of Crystal but I ultimately need the report in CR8.5 for compatibility with the client's system.  I think I am starting to figure out what might be wrong and it might be my understanding of SQL, but I can't see why someone hasn't needed this in the past. Ultimately I want to see all projects and any journal entry that might be posted for that project.
    Database is MySQL 5.0.38 and using MySQL ODBC driver 3.51.19.
    Project header table information will be populated. Each line item on a journal entry can be tagged with the project ID. But for me to pull the journal entry date I need also to link to a third table for the journal entry header info.
    I want to see all projects, whether a journal entry has been posted or not.
    So the links are like this
    ProjectHeader --->Left Outer Join ---> JELines ---> Inner Join ---> JEHeader
    I think in this scenerio Crystal is treating the LOJ as an IJ.
    I created two brand new reports today, one in CR8.5 and one in CR XIR2. Once I edited the automatic CR8.5 SQL statement (which I have been doing for years, usually without problem), they both ran properly. I linked customers to their invoices. Customers without invoices showed properly. But then I linked the invoices to the payments of the invoices and immediately lost customers without orders in both reports.
    So apparently only two tables are allowed in Outer Joins. Does this make sense?  I checked out the w3schools tutorial on SQL and it doesn't mention this limitation and I can't find anywhere else that it specifically indicates this but all samples of code I have seen only show two tables.  I just thought for presentation as a sample that was easiest to understand and we could expand as necessary.
    If this is correct, how does one go about accounting for this kind of thing?  One solution that goes through my mind is creating a view at the database level for the link between journal entry lines and journal entry headers.  Would this be a good solution under normal circumstances?
    A second option that I had to implement because of timelines, is to use a subreport linked to the main report through the project ID to pull the information for the journal entries and just pass the totals I need to the main report through a shared variable.
    These aren't normal circumstances because I don't have access to the database so I can't create the view.  I have come across this concept several times and I have been able to use subreports to solve it but I am trying to find a better solution for the future as sometimes subreports can be slow.  So are there any alternatives I have not considered here?
    TIA rasinc

    So after some more work and another post.  I was able to get this to work.
    Items disappear when linking to another table
    My issues were two fold.  I was selecting on the tables on the right-side of the original Inner Join.  However, I was checking for Nulls.  This apparently is correct but you must check for the Nulls first eg. (IsNull (JEHeader.Field1) OR JEHeader.Field1 <= 100).  I had my original statement reversed checking for <= 100 before checking for Nulls.
    I also did not set all links to be Left Outer Join.  I had the Inner Join.  I actually have about 6 tables in this report so all the links need to be set Outer Join.  So this now seems to be corrected.
    Thanks

  • 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 problem -- need feedback

    using crystal 2008
    haveing prolbems with a left outerjoin to get a blank field(null) to show up.
    basically i have some po line have have long descriptions or text fields that i want to include with the report. Below is my sql statement. I have written a formula with a join between 2 fields to get the report to work- this does but- it leave the polines off that do not have a long description.  I have tried left outer joins but seem to be having problems.  The long description field where the data is actually at is under my po.line table, although serveral area have long description fields -
    *one note i had to add a duplicate table to the field to get some items in my header to work properly - not sure if this is effecting the report or not.
    OK- when I set up the link to a LO join enforce from = to
    and dont add the ldtext.field to the report the left outjoin works(but no long description)and all my line items show up.
    1. when I keep the same join and add either just the ld.text field to  the report it comes back with a error saying invalid table
    2. when i use my formula that joins the ld.text and po.line and place it in the report with the same left outerjoin i get the same failure.
    3.  when i dont reference the ldtext(field) at all in the report it works fine w/ the lo join
    4. when i Dont use a left outer join and use my formula(see below)
    if not isnull(({LONGDESCRIPTION.LDTEXT }))
    then {POLINE.DESCRIPTION}+{LONGDESCRIPTION.LDTEXT}
    else {POLINE.DESCRIPTION}
    and link from poline.ld
    to ld.ldtext - my formula works and populates the po.line and the ld.text together - except that any po.line with no description will not show up. Like its not there.
    Not sure what to do?
    here is my current sql statement with the longdescription field in the select statement
    here is the error statement i am getting:
    Failed to retrieve data from the database:
    Details:42000[intersolv][odb sql base driver][sql base] 00906 itn invalid table name[database vendor code:906]
    sql statement:
    SELECT "PO"."PONUM", "PO"."STATUS", "PO"."VENDOR",
    "COMPANIES"."NAME", "COMPANIES"."ADDRESS1",
    "COMPANIES"."ADDRESS2", "COMPANIES"."ADDRESS3",
    "COMPANIES"."ADDRESS4", "COMPANIES"."PHONE",
    "COMPANIES"."FAX", "COMPANIES_1"."NAME",
    "COMPANIES_1"."ADDRESS1", "COMPANIES_1"."ADDRESS2",
    "COMPANIES_1"."ADDRESS3", "COMPANIES_1"."ADDRESS4",
    "COMPANIES_1"."CONTACT", "COMPANIES_1"."PHONE",
    "COMPANIES_1"."FAX", "PO"."PURCHASEAGENT",
    "PO"."ORDERDATE",
    "PO"."REQUIREDDATE", "PO"."PAYMENTTERMS",
    "PO"."SHIPVIA", "PO"."FREIGHTTERMS", "PO"."FOB",
    "POLINE"."DESCRIPTION", "POLINE"."ITEMNUM",
    "POLINE"."ORDERQTY", "POLINE"."UNITCOST",
    "POLINE"."LOADEDCOST", "POLINE"."POLINENUM",
    "PO"."SHIPTOATTN", "LONGDESCRIPTION"."LDTEXT"
    FROM   ("MAXIMO"."PO" "PO" LEFT OUTER JOIN
    "MAXIMO"."LONGDESCRIPTION" "LONGDESCRIPTION" ON "PO"."LDKEY"="LONGDESCRIPTION"."LDKEY"),
    "MAXIMO"."POLINE" "POLINE",
    "MAXIMO"."COMPANIES" "COMPANIES_1",
    "MAXIMO"."COMPANIES" "COMPANIES"
    WHERE  ("PO"."PONUM"="POLINE"."PONUM") AND ("PO"."VENDOR"="COMPANIES_1"."COMPANY") AND ("PO"."SHIPTO"="COMPANIES"."COMPANY") AND "PO"."PONUM"='3386-053'

    If you took the time to read this thanks.... turns out... and I just want to pull my hair out over this.  My connection had a  old odbc driver so somehow it would not allow a left outer join....go figure - weeks of agony over that..... thanks ....have to say love this forum.

  • Filter on "---" in Left Outer Join Query

    Hi guys,
    very basic question but I have not found an answer, yet. I built an left outer join MDO query and need to select all those dataset that did not find a "partner", that is fields are set to "---". However, I do not manage to filter on '---', NULL...
    When using SQL, it appears to be a String "---" but in MDO???

    Hey guys, found out that IS NULL needs to be used in query. Anyway, it appears to cause problems somewhere else.
    I placed an IS NULL filter expression inside a join query but query did not return any results when called in by transaction. After removing this line, both NULL and NOT NULL data were returned. When used in test mode, IS NULL was working fine...

Maybe you are looking for

  • Export to Excel formatting Issue

    Good Afternoon, I am trying to export a dataset to excel 2010, however all of the columns are exporting as DT_WSTR although the table that the data is coming from is set correctly either to money or int. I have tried to change the data type in the ad

  • InDesign CS5.5 won't respect Units Preference

    My Units preferences are set to inches, but new documents are still formatted in points. Once the document is created, rulers appear in points, and when I open Preferences again, sure enough, units are set to points. Once I change it back to inches,

  • Can i search a day across all years in my ical?

    what i am wanting to do is search for a date, say june 19th, and see what entries i have for all years i have in my ical at once. is this possible? if so, how do i do it? thanks!

  • ECC BSP page display from CRM through Transaction Launcher

    Hi Experts, We have a BSP application in ECC and want to launch the page from CRM using transaction launcher. The page is already launched from a different link. Is it possible to use the same transaction launcher from new link to navigate to the sam

  • Safari eating up 75% of CPU

    Hello, I would like to know if anyone has any suggestions on what is wrong with my browser. The past couple weeks Safari has slowed drastically and I can't really figure out why. I have emptied the cache, and deleted all of the favorite icons a few t