How to outer join indicator field?

Hello,
I have a table Users with the fields id and status.
I have a table Domains with the fields type, id, text.
I have mapped the class User to the table Users.
I have mapped the class Domain to the table Domains (root descriptor).
I have mapped the class UserStatus that extends Domain to the table Domains (child descriptor).
I have set indicator value for the class UserStatus "USER_STATUS".
Assume that I execute ReadAllQuery to fetch all users and I want to order them by status text, I write something like
query.addOrdering(expressionBuilder.get("status").get("text").ascending());or
query.addOrdering(expressionBuilder.getAllowingNull("status").get("text").ascending());The problem is that the user is not fetched if its status is null, because the SQL statement generated uses inner join to join indicator field with the value, that is, SQL contains ...type = ? ..., I would like (+) operator to appear in the statement so that it would be ... type (+) = ?.
Do you know if there is a way to force TopLink to perform outer joins on indicator fields?

Using getAllowingNull should do this using an outer join. If you are not seeing this, please include your full query code and the SQL generated and your database platform.

Similar Messages

  • How to outer join within a view link from (VO-VL-VO)

    I've got a table that stores the values of pre-defined attributes.
    I'd like to create an advancedTable region that shows all of the attributes with or without values, in my view object i have....
    select attribute, value
    from attributes, values
    where attributes.attribute_id = values.attribute_id (+)
    This is working, but a have another view object that is the master and this is the details.
    How can I do an outer join on the view link from master to detail? A simple (+) in the where condition does not do the trick.
    If I try anything fancy within the view link, I get a JBO-27122.
    Thank you,
    Jerry.

    Understand the concept of VL. Vl is nothing but a link between two VOs, with one VO row column serve as binding column for another VO.If u understand this u go to VL wizard and make VL declaratively. If not, refer to dev guide to know about VL.
    --Mukul                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • 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

  • Outer join vs. 'SELECT in SELECT'

    Hi All,
    I am generally curious about which method to use between a Outer join and 'SELECT in SELECT'. We can have same result with both methods.
    My question is, for real life complex queries, which method is more efficiant? less resource intensive? Any thories you guys have?
    I am on Oracle 10.2 on lunix.
    See my example below
    -- First table
    create table emp
    id   number,
    name varchar2(1000),
    constraint emp_pk primary key ( id )
    -- second table. There will be 1 record, for few of the records in EMP table, in this table
    create table leave
    id     number,
    emp_id number,
    leave_date date,
    constraint leave_pk primary key (id),
    constraint leave_fk foreign key ( emp_id ) references emp
    create index leave_idx_1 on leave ( emp_id ) ;
    -- Populate some sample data in there
    insert into emp (id, name)
    select object_id, object_name from dba_objects where rownum < 10001 ;
    declare
    cursor c1 is
       select id from emp where mod(id,2) = 0 ;
    v_id  number := 1 ;
    v_date DATE := '01-JAN-08';
    begin
      for c2 in c1
      loop
          insert into leave values ( v_id, c2.id, v_date );
          v_id := v_id + 1;
          v_date := v_date + 1;
      end loop;
    end;
    -- Set autotrace
    set autotrace traceonly explain
    -- =================================
    -- Outer join
    -- =================================
    select e.id, e.name, l.id, l.leave_date
    from   emp e, leave l
    where  e.id = l.emp_id (+) ;
    -- ===================================
    -- select in select to get same results as above outer join
    -- ===================================
    select e.id, e.name,
           (select l.id from leave l where l.emp_id = e.id ) leave_id,
           (select l.leave_date from leave l where l.emp_id = e.id ) leave_date
    from   emp e ;My hidden question, how these two methods internally work? in the plan we can only see something like 'hash join right outer' or something like that. But how exactly outer join is executed? how is the result formed?
    I have got following plans for the two methods
    SQL> select e.id, e.name, l.id, l.leave_date
      2  from   emp e, leave l
      3  where  e.id = l.emp_id (+) ;
    Elapsed: 00:00:00.03
    Execution Plan
    Plan hash value: 98076489
    | Id  | Operation             | Name  | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT      |       | 10000 |  5371K|    16   (7)| 00:00:01 |
    |*  1 |  HASH JOIN RIGHT OUTER|       | 10000 |  5371K|    16   (7)| 00:00:01 |
    |   2 |   TABLE ACCESS FULL   | LEAVE |  5012 |   171K|     6   (0)| 00:00:01 |
    |   3 |   TABLE ACCESS FULL   | EMP   | 10000 |  5029K|     9   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - access("E"."ID"="L"."EMP_ID"(+))
    Note
       - dynamic sampling used for this statement
    SQL> select e.id, e.name,
      2         (select l.id from leave l where l.emp_id = e.id ) leave_id,
      3         (select l.leave_date from leave l where l.emp_id = e.id ) leave_date
      4  from   emp e ;
    Elapsed: 00:00:00.18
    Execution Plan
    Plan hash value: 2670217481
    | Id  | Operation                   | Name        | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |             | 10000 |  5029K|     9   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| LEAVE       |    50 |  1300 |     2   (0)| 00:00:01 |
    |*  2 |   INDEX RANGE SCAN          | LEAVE_IDX_1 |    20 |       |     1   (0)| 00:00:01 |
    |   3 |  TABLE ACCESS BY INDEX ROWID| LEAVE       |    50 |  1100 |     2   (0)| 00:00:01 |
    |*  4 |   INDEX RANGE SCAN          | LEAVE_IDX_1 |    20 |       |     1   (0)| 00:00:01 |
    |   5 |  TABLE ACCESS FULL          | EMP         | 10000 |  5029K|     9   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("L"."EMP_ID"=:B1)
       4 - access("L"."EMP_ID"=:B1)
    Note
       - dynamic sampling used for this statementPlease let me know your thoughts.
    Thanks in advance

    A better indicator of performance would be to look at the number of consistent gets that are required to execute the query.
    In my environment:
    SQL> SELECT * FROM V$VERSION;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    PL/SQL Release 10.2.0.4.0 - Production
    CORE    10.2.0.4.0      Production
    TNS for 64-bit Windows: Version 10.2.0.4.0 - Production
    NLSRTL Version 10.2.0.4.0 - Production
    SQL> SHOW PARAMETER OPT
    NAME                                 TYPE        VALUE
    filesystemio_options                 string
    object_cache_optimal_size            integer     102400
    optimizer_dynamic_sampling           integer     2
    optimizer_features_enable            string      10.2.0.4
    optimizer_index_caching              integer     0
    optimizer_index_cost_adj             integer     100
    optimizer_mode                       string      ALL_ROWS
    optimizer_secure_view_merging        boolean     TRUE
    plsql_optimize_level                 integer     2The OUTER JOIN produced the following results:
    SQL> select e.id, e.name, l.id, l.leave_date
      2  from   emp e, leave l
      3  where  e.id = l.emp_id (+) ;
    10000 rows selected.
    Execution Plan
    Plan hash value: 98076489
    | Id  | Operation             | Name  | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT      |       | 10000 |   380K|     9  (12)| 00:00:01 |
    |*  1 |  HASH JOIN RIGHT OUTER|       | 10000 |   380K|     9  (12)| 00:00:01 |
    |   2 |   TABLE ACCESS FULL   | LEAVE |  5017 | 80272 |     3   (0)| 00:00:01 |
    |   3 |   TABLE ACCESS FULL   | EMP   | 10000 |   224K|     5   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - access("E"."ID"="L"."EMP_ID"(+))
    Statistics
              0  recursive calls
              0  db block gets
            723  consistent gets
              0  physical reads
              0  redo size
         364047  bytes sent via SQL*Net to client
           7672  bytes received via SQL*Net from client
            668  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
          10000  rows processedThe inline subquery produced these results:
    SQL> select e.id, e.name,
      2         (select l.id from leave l where l.emp_id = e.id ) leave_id,
      3         (select l.leave_date from leave l where l.emp_id = e.id ) leave_dat
      4  from   emp e ;
    10000 rows selected.
    Execution Plan
    Plan hash value: 1706216391
    | Id  | Operation         | Name  | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT  |       | 10000 |   224K|     5   (0)| 00:00:01 |
    |*  1 |  TABLE ACCESS FULL| LEAVE |     1 |     9 |     3   (0)| 00:00:01 |
    |*  2 |  TABLE ACCESS FULL| LEAVE |     1 |    13 |     3   (0)| 00:00:01 |
    |   3 |  TABLE ACCESS FULL| EMP   | 10000 |   224K|     5   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - filter("L"."EMP_ID"=:B1)
       2 - filter("L"."EMP_ID"=:B1)
    Statistics
              0  recursive calls
              0  db block gets
         360705  consistent gets
              0  physical reads
              0  redo size
         364053  bytes sent via SQL*Net to client
           7672  bytes received via SQL*Net from client
            668  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
          10000  rows processedSee the 723 consistent gets versus 360705? That is a huge difference.
    The second method may be more viable if you create indexes on the columns in the leave table that you are joining to your EMP table.
    For example:
    SQL> CREATE INDEX LEAD_ID_IDX ON LEAVE(EMP_ID, ID, LEAVE_DATE);
    Index created.
    SQL> set autotrace traceonly
    SQL> select e.id, e.name,
      2         (select l.id from leave l where l.emp_id = e.id ) leave_id,
      3         (select l.leave_date from leave l where l.emp_id = e.id ) leave_date
      4  from   emp e ;
    10000 rows selected.
    Execution Plan
    Plan hash value: 1822800249
    | Id  | Operation         | Name        | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT  |             | 10000 |   224K|     5   (0)| 00:00:01 |
    |*  1 |  INDEX RANGE SCAN | LEAD_ID_IDX |     1 |     9 |     2   (0)| 00:00:01 |
    |*  2 |  INDEX RANGE SCAN | LEAD_ID_IDX |     1 |    13 |     2   (0)| 00:00:01 |
    |   3 |  TABLE ACCESS FULL| EMP         | 10000 |   224K|     5   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - access("L"."EMP_ID"=:B1)
       2 - access("L"."EMP_ID"=:B1)
    Statistics
              1  recursive calls
              0  db block gets
          22111  consistent gets
             19  physical reads
              0  redo size
         364053  bytes sent via SQL*Net to client
           7672  bytes received via SQL*Net from client
            668  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
          10000  rows processedThe query improved by a more than a factor of 10 with the index but the consistent gets are still significantly higher then the OUTER JOIN query. Additionally I always try and take the approach when developing queries to minimize the number of table accesses possible. In your second place you have to access the LEAVE table twice, instead of once in the first query.

  • BI 7.0 Infoset - Infocube - Left outer join - query

    Hi Expert,
    A infoset contain Infocube and ODS, linked with left outer join, common fields are PO,PO item.  PO account assignment ODS have three keyfields: PO Doc.,Item,account Assignment  .
         PO  Infocube                                     <b>PO Account Assignment ODS</b>
    PO       PO item  Amt<b>PO Doc.  Item   AccAssignment         Cost object</b>
    1000    10            230  <b>1000       10        1                          CC1</b>
    1001    10            250  <b>1002       10        1                          CC1</b>
    1002    10            150  <b>1002       10        2                          CC2</b>
    in BEx result are like this:    
    1000    10            230      1     CC1
    1001    10            250      #      #
    1002    10            150      1     CC1
    1002    10            150      2     CC2 ( amount only duplicated)
    The issue was that amount gets duplicated. It only occurs if PO has more than one account assignment.
    In report, we want show like this
    1000    10            230       1       CC1
    1001    10            250       #        #
    1002    10            150       1       CC1
    1002    10            #        2       CC2
    Any suggestion or input to overcome this issue?
    Thanks,
    Saran
    Message was edited by:
            Saravanan K

    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

  • Issues with limit/filter on outer join table in BQY

    I'm converting a series of BQY's from Brio 6.6 to Hyperion 9.3. I have some questions about the "use ODBC outer join syntax on limits" option in the OCE. I sort of understand this option's purpose, but I don't completely understand the SQL I'm seeing. For example Brio 6.6 is generating the following SQL statement:
    SELECT * FROM tblA AL1 LEFT OUTER JOIN tblB AL38 ON (AL38.ParentID=AL1.ChildID AND
    AL38.Data='SomeData') WHERE ((NOT AL38.Action IS NULL))
    Now, Hyperion 9.3 generated the SQL statement as follows:
    SELECT * FROM tblA AL1 LEFT OUTER JOIN tblB AL38 ON (AL38.ParentID=AL1.ChildID AND
    AL38.Data='SomeData') AND (NOT AL38.Response IS NULL))
    My questions are:
    1) Why isn't the "NOT AL38.Action IS NULL" statement included in the outer join in Brio? My limited understanding of the "use ODBC outer join syntax on limits" seems to indicate that it should end up there. I want the SQL to look like this, but I don't know why Brio generates this SQL.
    2) How can I get Hyperion to generate the same SQL as Brio? And still use the OCE with "use ODBC outer join syntax on limits" selected?

    Setting the Cardinality of Department > Employee role to OptionalOne
    gives rise to cartesian join (which is a bigger issue).
    Therefore, the Cardinality of Department > Employee role should remain as
    OptionalMany (default).
    This means, the outer join problem still remains unsolved. I have, therefore,
    unmarked the above answer by me.
    The question is - why has Report Builder been designed in such a way that the primary entity is always the child entity when attributes are selected from both parent and child entities?
    Most people desire that all the rows of the parent entity be fetched irrespective of whether there are corresponding rows in the child entity or not. Report Builder tool should not dictate what the user wants to get, meaning it is not right to assume
    that the focus of the report is Employee when attributes are selected from both Department and Employee. Report Builder should not make the child entity (i.e., Employee) as the primary entity when the user selects attributes from the child entity after
    having selected attributes from the parent entity.
    I am sorry to say that clients may not accept the Report Builder tool as this does not fetch the records as desired.
    I hope there is someone who can suggest how the outer join problem can be solved by just tweaking the properties of the report model (SMDL).
    Besides, the end users are business users and are not tech savvy. They are not expected to modify queries. They would simply drag and drop attributes from entities to create adhoc reports.

  • Outer Join issue in SSRS

    Symptom description:
    I have a Department table and an Employee table. In Department table, Deptno is the primary key. In Employee table, Empid is the primary key and Deptno is a foreign key pointing to Deptno of Department table.
    Using BIDS, I have created a Data Source View (DSV) incorporating the above two tables and a relationship is also formed where Employee is the source and Department is the destination. I have then autogenerated a Report Model (.smdl) using the DSV.
    Now, when I select attributes from both Department entity and Employee entity in Report Builder 3.0, the query generated by Report Builder fetches only those records from Department for which an employee exists.
    My objective is to fetch all records from Department when Department is joined with Employee irrespective of whether an employee exists or not for that department. How can this be achieved?
    Given below is the query generated by Report Builder:
    SELECT DISTINCT
        "DEPT"."DepartmentNo" "DepartmentNo",
        "DEPT"."DepartmentDepartmentName" "DepartmentDepartmentName",
        "DEPT"."City" "City",
        "EMP"."EMPID" "EmployeeID",
        "EMP"."EMP_NAME" "EmployeeName",
        "EMP"."SALARY" "Salary"
    FROM
        "CLINICOPIA_REPORTS"."EMP" "EMP"
        LEFT OUTER JOIN (
            SELECT /*+ NO_MERGE */
                "DEPT"."DEPTNO" "DepartmentNo",
                "DEPT"."DEPT_NAME" "DepartmentDepartmentName",
                "DEPT"."CITY" "City",
                "DEPT"."DEPTNO" "DEPTNO"
            FROM
                "CLINICOPIA_REPORTS"."DEPT" "DEPT"
        ) "DEPT" ON "EMP"."DEPTNO" = "DEPT"."DEPTNO"
    WHERE
        CAST(1 AS NUMERIC(1,0)) = 1
    ORDER BY
        "DepartmentNo", "DepartmentDepartmentName", "City", "EmployeeID", "EmployeeName", "Salary";
    Environment: SharePoint 2010 serves as the Web Front-End Server and also hosts Reporting Services Add-in. SQL Server 2008 R2 SP2 is the Back-End Server hosting Sql Server Reporting Services
    (SSRS) in SharePoint Integrated mode. The data is fetched in the Report Builder 3.0 reports from an Oracle database.
    Environment details-
    Web Front-End Server: SharePoint Server 2010 with Enterprise Client Access License features. Operating System is Microsoft Windows Server 2008 R2 Standard - 64 Bit.
    Back-End Database Server: SQL Server 2008 R2 Enterprise SP2. Operating System is Microsoft Windows Server 2008 R2 Standard - 64 Bit.
    Oracle Database Server: Operating System is Red Hat Enterprise Linux Server release 5 (Tikanga). Oracle Database version is Oracle Database 10g R2 Enterprise Edition Release 10.2.0.2.0 - Production.

    Setting the Cardinality of Department > Employee role to OptionalOne
    gives rise to cartesian join (which is a bigger issue).
    Therefore, the Cardinality of Department > Employee role should remain as
    OptionalMany (default).
    This means, the outer join problem still remains unsolved. I have, therefore,
    unmarked the above answer by me.
    The question is - why has Report Builder been designed in such a way that the primary entity is always the child entity when attributes are selected from both parent and child entities?
    Most people desire that all the rows of the parent entity be fetched irrespective of whether there are corresponding rows in the child entity or not. Report Builder tool should not dictate what the user wants to get, meaning it is not right to assume
    that the focus of the report is Employee when attributes are selected from both Department and Employee. Report Builder should not make the child entity (i.e., Employee) as the primary entity when the user selects attributes from the child entity after
    having selected attributes from the parent entity.
    I am sorry to say that clients may not accept the Report Builder tool as this does not fetch the records as desired.
    I hope there is someone who can suggest how the outer join problem can be solved by just tweaking the properties of the report model (SMDL).
    Besides, the end users are business users and are not tech savvy. They are not expected to modify queries. They would simply drag and drop attributes from entities to create adhoc reports.

  • Outer join in Condition - Plz help

    I have a discoverer report created by some other developer which is based on 5-6 folders. There is a condition created
    GL_DATE >= :"Report Begin GL Date" AND GL_DATE <= :"Report End GL Date"
    But when the report is run and I go to View-> .Query I see an outer join on the condition
    O102607.GL_DATE(+) >= :"Report Begin GL Date" AND O102607.GL_DATE(+) <= :"Report End GL Date" )
    Could anyone please tell me how the outer join is automatically appearing for the condition.
    Thanks in advance

    You'll have to check the joins in the admin tool.
    I had a notion that a non-mandatory parameter might create an outer join, but didn't have time to test it. Then as I thought about it a bit more, if an outer join was created, it would be on the parameter, and not the item.

  • How can we make consecutive left outer joins in Composite Provider?

    Hi,
    For the following design:
    Sales order and Delivery DSO's are unions on field Delivery Number.
    Invoice(Billing DSO) is having left outer join and joins with Sales Order DSO's based on the field Sales Order Number.
    Shipment DSO has left outer join, joins with Invoice DSO based on Delivery number.
    My doubt here in this composite provider design, is more than one consecutive left outer joins(in Invoice, shipment dso join) are allowed?
    Since this is possible in SAP ERP through writing abap codes, I came across that this kind of modelling is not possible in BW on  Hana through Composite provide kindly suggest how can we achieve this design in SAP BW On hana.
    Regards,
    Antony Jerald.

    Hi,
    Could anyone please help me on this?
    Hope, you are able to understand my question.  Please suggest.
    Regards,
    Antony Jerald.

  • How to do left outer join in one-one mapping

    I tried to do a left outer join between two tables. I specified
    kodo.jdbc.DBDictionary: JoinSyntax=sql92 in kodo.properties. I used
    ref-join-type="outer" in the package.mapping. However, I still see Kodo is
    translating my queries using inner join. How can I force kodo to use outer
    join (or maybe even to use left outer join) when translating my queries?
    Thanks.

    Kodo will automatically use an outer join when eager-fetching a to-one
    relation (unless you have set null-value="exception" on the field, in
    which case Kodo knows it can use an inner join). There is no need to set
    the ref-join type (in fact, that is only for when the foreign key
    columns are in a joined table).
    When you place criteria on a relation in a query, though, the relation
    must exist to satisfy the query. For example, in the filter:
    "relation.x == y"
    The "relation" field must hold a related object to satisfy the
    expression, just as in Java.
    If you want the "relation" field to optionally be null, then write your
    filter exactly as you would in Java:
    "relation == null || relation.x == y"
    Kodo will correctly use an outer join in this case because the filter
    can be satisfied even when no related object exists.

  • How to use outer join on 3 tables

    how to use outer join on 3 tables
    say tables are mkpf,lips and vbrp
    mkpf-xblnr = lips-vbeln
    lips-vbeln  = vbrp-vgbel

    refer following querry
        select a~bukrs
               a~anln1
               a~ord42
               a~ord43
               b~afabe
               b~ndabj
               b~kaafa
               b~aafag
               c~kostl
               d~afasl
               d~ndjar
               d~ndper
        into corresponding fields of table gt_master
        from ( ( anla as a inner join anlc as b
        on abukrs = bbukrs
        and aanln1 = banln1
        and aanln2 = banln2 )
        inner join anlz as c
        on  abukrs = cbukrs
        and aanln1 = canln1
        and aanln2 = canln2 )
        inner join anlb as d
        on  abukrs = dbukrs
        and aanln1 = danln1
        and aanln2 = danln2
        where a~bukrs in s_comp.

  • How to find Inner join or (Left)outer join for Infoset

    Dear Experts,
    We have one Infoset which is based on the Master data and DSO. It is linked 0BPARTNER field From the Master Data and SOLD TO PARTY field from the DSO.
    Here Could you please suggest me how can we able to find that whether this Infoset is based on Inner Join or (Left) outer join.
    Thanks and Regards,
    Suresh.

    HI Suresh,
    If the infoset is based on left outer join , you see the respective table shaded in a dirrerent colour and also displays
    that it is a left outer join in the connection
    refer the below link for the details on left outer join , you can make a join as left outer from the context menu of the
    object required
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/21/af0942b9dc9c39e10000000a155106/frameset.htm
    Regards,
    Sathya

  • Could any one tell me how to do the left outer join or right outer join?

    Could any one  tell me how to do the left outer join or right outer join in Webi Rich Client? thanks.

    we can do it in two ways
    1.  In  web intelligence level  on the query panel click the sql query and write the statement what ever u want there by modifying the existing statement.
    2.  In universe level select the fields in the two tables that you want to make join and create the join between two tables directly by joining field in table 1 to the field in the table 2 by drawing a line and double click on the line to view the join properties,then on join properties if we check the table 1 outer then it is left outer join if we check on table 2 outer then it will be the right outer join.after exporting the universe to the central sever we are now ready to use in web intelligence with out being changed anything in the sql query.
    endorse me if it is useful.
    thanks & regards
    Sreekanth.

  • How  to  do inner join ,outer join, left join ,right join by using infoset

    how  to  do inner join ,outer join, left join ,right join by using infoset

    Hi
    If you want to make  join ,outer join, left join ,right join then its possible if you are using ODS or direct infoobject (In BW3.5) and if you are using BI7.0 then you also make join ,outer join, left join ,right join with Cube also.
    For making join ,outer join, left join ,right join in infosets you just select your info provider then right click on your infoarea from context menu select info set after doing this one pop-up opens here u define your infoset technical name and give either ODS object name of infoobject name.
    After doing this next screen opens in right hand side your selectes ODS or infoobject shows in graphical format .
    and left hand side it shows one menu bar here you can select another ODS or infoobject for making join ,outer join, left join ,right join .just click on ODS button in menu bar and select ODS drag your selected ODS from Left to right after doing this your selected ODS shown in right hand side window in graphical format you just now after doing this you are able to make join ,outer join, left join ,right join for this first you select field from one ods and drag a line from 1 ods to second ods after doing this one arrow is created from one ods to another ods just right click on arrow  and make join ,outer join, left join ,right join in to your ODS.
    I think its clear how we can we make join ,outer join, left join ,right join in infoset.If you have any further query then welcome.
    Assign Points...............
    Thanks and regards
    Ankit modi

  • I am working in Adobe Acrobat 9 Pro and just created a pdf form from a MS Word document. I need to find out how to have a date field in my form which will update automatically. Can some one out there help me?

    I am working in Adobe Acrobat 9 Pro and just created a pdf form from a MS Word document. I need to find out how to have a date field in my form which will update automatically.

    Update automatically under which circumstances, exactly?

Maybe you are looking for