Joins and FAE

Dear all, this is my requirement
EBAN     Purchase Requisition
     BANFN     Purchase Requisition Number
     BNFPO     Item Number of Purchase Requisition
     LOEKZ     Deletion Indicator in Purchasing Document
     STATU     Processing status of purchase requisition
     MATNR     Material Number
     MENGE     Purchase Requisition Quantity
     MEINS     Purchase Requisition Unit of Measure
     BSMNG     Quantity Ordered Against this Purchase Requisition(PO)
EBKN     Purchase Requisition Account Assignment
     BANFN     Purchase Requisition Number
     BNFPO     Item Number of Purchase Requisition
     ZEBKN     Serial number for PReq account assignment segment
     MENGE     Purchase Requisition Quantity
     PS_PSP_PNR     Work Breakdown Structure Element (WBS Element)
My internal table declared is with these above fields (t_eban).
Another internal table t_list1 contains.
Ps_psp_pnr    matnr with 10 records.
Now I have to get data from eban with matnr and from ebkn and ps_psp_pnr
SELECT ebanfn ebnfpo eloekz estatu ematnr emenge emeins ebsmng kbanfn kbnfpo kzebkn kmenge k~ps_psp_pnr
       INTO CORRESPONDING FIELDS OF TABLE t_eban
       FROM eban AS e
       INNER JOIN ebkn AS k ON ebanfn   =  kbanfn
                            AND ebnfpo = kbnfpo
       for all entries in t_list1 where e~matnr eq t_list1-matnr and
                                        k~ps_psp_pnr eq t_list1-pspel.
Now im getting all the records.please
Correct me.

Hi,
to check if the records pulled are consistent enough....
just write a select query  on eban only...
select banfn
  from eban
  into table itab
  for all entries in t_list1
  where matnr eq t_list1-matnr.
Just check if its retrieving all the records from eban.... if not then check with ebkn using pspel values and check how many records are retreived if they get all the records from the table then i think the values you are getting is perfect.
Regards,
Siddarth

Similar Messages

  • Outer Join and Index Usage

    I am simply trying to run the following query:
    select /*+ index (serialnumber trans) */ distinct device,
    device_path||device hierarchy,
    sn.serialnumber
    from z_xfmr_levels z
    left join serialnumber sn
    on z.device = sn.transformergrid(+);
    I am using Oracle 9i
    z_xfmr_levels has 75,000 distinct rows
    serialnumber has 204,000 distinct rows
    The explain plan shows a hash join and a full table scan on both tables.
    How can I get the query to use the index on the transformergrid field of the serialnumber table?

    user10441616 wrote:
    I am simply trying to run the following query:
    select /*+ index (serialnumber trans) */ distinct device,
    device_path||device hierarchy,
    sn.serialnumber
    from z_xfmr_levels z
    left join serialnumber sn
    on z.device = sn.transformergrid(+);
    I am using Oracle 9i
    z_xfmr_levels has 75,000 distinct rows
    serialnumber has 204,000 distinct rows
    The explain plan shows a hash join and a full table scan on both tables.
    How can I get the query to use the index on the transformergrid field of the serialnumber table?What makes you think an index access is more appropriate than the the two full scans and a hash join?
    If you have some legitimate reason, please share ... if not, please read this http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:9422487749968

  • Using join and batch reading in the same query

    Hi,
    I wonder if it is possible to use "Joining" and "batch reading" in the same query.
    For example I Have
    A -> 1-1 B
    A -> 1-1 B
    B -> 1-M C
    This is the case where I have two separate 1-1 relationships to the same class B from A. Toplink 10.0.3 can manage it nicely through joining.
    Now, I would like to read a set of As (with its 2 Bs) and all Cs for each B.
    It seems that the following configuration does not work:
    A -> 1-1 B (use joining)
    A -> 1-1 B (use joining)
    B -> 1-M C (Batch read)
    Any help would be greatly appreciated
    Tony.

    James,
    Would you be so kind to look at the following code?
    Am I formulating it correctly to achieve my desired behavior?
    Trip.class -> 1-1 PickupStop
    Trip.class -> 1-1 DropoffStop
    PickupStop and DropoffStop extend Stop and use same table (STOP)
    Stop -> 1-M StopEvents
    I would like to fetch all Trips, with their Stops and all StopEvents in 2 queries:
    1. Trip joined with Stop
    2. Batchread StopEvents
    Code:
    ReadAllQuery raq = new ReadAllQuery(Trip.class);
    Expression qexp1 = new ExpressionBuilder();
    Expression qexp2 = new ExpressionBuilder();
    raq.addJoinedAttribute("pickupStop");
    raq.addJoinedAttribute("dropoffStop");
    raq.addBatchReadAttribute(qexp1.get("pickupStop").get("vStopEvents"));
    raq.addBatchReadAttribute(qexp2.get("dropoffStop").get("vStopEvents"));

  • Need help in optimizing the query with joins and group by clause

    I am having problem in executing the query below.. it is taking lot of time. To simplify, I have added the two tables FILE_STATUS = stores the file load details and COMM table that is actual business commission table showing records successfully processed and which records were transmitted to other system. Records with status = T is trasnmitted to other system and traansactions with P is pending.
    CREATE TABLE FILE_STATUS
    (FILE_ID VARCHAR2(14),
    FILE_NAME VARCHAR2(20),
    CARR_CD VARCHAR2(5),
    TOT_REC NUMBER,
    TOT_SUCC NUMBER);
    CREATE TABLE COMM
    (SRC_FILE_ID VARCHAR2(14),
    REC_ID NUMBER,
    STATUS CHAR(1));
    INSERT INTO FILE_STATUS VALUES ('12345678', 'CM_LIBM.TXT', 'LIBM', 5, 4);
    INSERT INTO FILE_STATUS VALUES ('12345679', 'CM_HIPNT.TXT', 'HIPNT', 4, 0);
    INSERT INTO COMM VALUES ('12345678', 1, 'T');
    INSERT INTO COMM VALUES ('12345678', 3, 'T');
    INSERT INTO COMM VALUES ('12345678', 4, 'P');
    INSERT INTO COMM VALUES ('12345678', 5, 'P');
    COMMIT;Here is the query that I wrote to give me the details of the file that has been loaded into the system. It reads the file status and commission table to show file name, total records loaded, total records successfully loaded to the commission table and number of records that has been finally transmitted (status=T) to other systems.
    SELECT
        FS.CARR_CD
        ,FS.FILE_NAME
        ,FS.FILE_ID
        ,FS.TOT_REC
        ,FS.TOT_SUCC
        ,NVL(C.TOT_TRANS, 0) TOT_TRANS
    FROM FILE_STATUS FS
    LEFT JOIN
        SELECT SRC_FILE_ID, COUNT(*) TOT_TRANS
        FROM COMM
        WHERE STATUS = 'T'
        GROUP BY SRC_FILE_ID
    ) C ON C.SRC_FILE_ID = FS.FILE_ID
    WHERE FILE_ID = '12345678';In production this query has more joins and is taking lot of time to process.. the main culprit for me is the join on COMM table to get the count of number of transactions transmitted. Please can you give me tips to optimize this query to get results faster? Do I need to remove group and use partition or something else. Please help!

    I get 2 rows if I use my query with your new criteria. Did you commit the record if you are using a second connection to query? Did you remove the criteria for file_id?
    select carr_cd, file_name, file_id, tot_rec, tot_succ, tot_trans
      from (select fs.carr_cd,
                   fs.file_name,
                   fs.file_id,
                   fs.tot_rec,
                   fs.tot_succ,
                   count(case
                            when c.status = 'T' then
                             1
                            else
                             null
                          end) over(partition by c.src_file_id) tot_trans,
                   row_number() over(partition by c.src_file_id order by null) rn
              from file_status fs
              left join comm c
                on c.src_file_id = fs.file_id
             where carr_cd = 'LIBM')
    where rn = 1;
    CARR_CD FILE_NAME            FILE_ID           TOT_REC   TOT_SUCC  TOT_TRANS
    LIBM    CM_LIBM.TXT          12345678                5          4          2
    LIBM    CM_LIBM.TXT          12345677               10          0          0Using RANK can potentially produce multiple rows to be returned though your data may prevent this. ROW_NUMBER will always prevent duplicates. The ordering of the analytical function is irrelevant in your query if you use ROW_NUMBER. You can remove the outermost query and inspect the data returned by the inner query;
    select fs.carr_cd,
           fs.file_name,
           fs.file_id,
           fs.tot_rec,
           fs.tot_succ,
           count(case
                    when c.status = 'T' then
                     1
                    else
                     null
                  end) over(partition by c.src_file_id) tot_trans,
           row_number() over(partition by c.src_file_id order by null) rn
    from file_status fs
    left join comm c
    on c.src_file_id = fs.file_id
    where carr_cd = 'LIBM';
    CARR_CD FILE_NAME            FILE_ID           TOT_REC   TOT_SUCC  TOT_TRANS         RN
    LIBM    CM_LIBM.TXT          12345678                5          4          2          1
    LIBM    CM_LIBM.TXT          12345678                5          4          2          2
    LIBM    CM_LIBM.TXT          12345678                5          4          2          3
    LIBM    CM_LIBM.TXT          12345678                5          4          2          4
    LIBM    CM_LIBM.TXT          12345677               10          0          0          1

  • What's the implicit joins and how to configure it?

    Hello guys
    what's the implicit joins and how to configure it? What's the purpose of implicit and explicit joins?
    Please help
    Thank you

    Thus, on my side, I think that :
    Explicit join define the join condition between the key column from the table.
    (table1.di = table2.id)
    While
    Implicit Join define :
    * the type of join outer, inner, ...
    http://gerardnico.com/wiki/dw/join/start
    * And the relationship (one-to-many, cardinality)
    http://gerardnico.com/wiki/dw/data_quality/relationships
    And all this information are used to generate the statement (query).
    And I don't really know why you have two type of key :
    * Physical Foreign Keys
    * Logical Foreign Keys
    Regards
    Nico

  • Issue with recursive join and filter records

    I am having an issue with recursive join and filtering records for the following rules. The table, sample records, test script and rules are as below
    drop table PC_COVKEY_PD;
    create table PC_COVKEY_PD (
    PC_COVKEY varchar(50),
    COVERAGE_NUMBER varchar(3),
    SEQUENCE_ALPHA  varchar(3),
    TRANSACTION_TYPE varchar(3),
    COV_CHG_EFF_DATE date,
    TIMESTAMP_ENTERED timestamp
    delete from PC_COVKEY_PD;
    commit;
    Insert into PC_COVKEY_PD values ('10020335P8017MT0010012','001','001','02',to_date('01/FEB/2010','DD/MON/RRRR'),to_timestamp('02/JAN/2010 01:55:59.990216 AM','DD/MON/RRRR HH12:MI:SS.FF6 AM'));
    Insert into PC_COVKEY_PD values ('10020335P8017MT0050012','005','001','02',to_date('01/FEB/2010','DD/MON/RRRR'),to_timestamp('02/JAN/2010 01:56:00.268099 AM','DD/MON/RRRR HH12:MI:SS.FF6 AM'));
    Insert into PC_COVKEY_PD values ('10020335P8017MT0010032','001','003','03',to_date('14/JAN/2011','DD/MON/RRRR'),to_timestamp('14/JAN/2011 04:25:19.018217 PM','DD/MON/RRRR HH12:MI:SS.FF6 AM'));
    Insert into PC_COVKEY_PD values ('10020335P8017MT0010042','001','004','03',to_date('21/JAN/2011','DD/MON/RRRR'),to_timestamp('21/JAN/2011 04:00:31.719444 PM','DD/MON/RRRR HH12:MI:SS.FF6 AM'));
    Insert into PC_COVKEY_PD values ('10020335P8017MT0050022','005','002','03',to_date('21/JAN/2011','DD/MON/RRRR'),to_timestamp('21/JAN/2011 04:02:48.953594 PM','DD/MON/RRRR HH12:MI:SS.FF6 AM'));
    commit;
    --select * from PC_COVKEY_PD order by COV_CHG_EFF_DATE,TIMESTAMP_ENTERED;
    PC_COVKEY          COVERAGE_NUMBER     SEQUENCE_ALPHA     TRANSACTION_TYPE     COV_CHG_EFF_DATE     TIMESTAMP_ENTERED
    10020335P8017MT0010012          001     001                  02                          01/FEB/2010            02/JAN/2010 01:55:59.990216 AM
    10020335P8017MT0050012          005     001                  02                      01/FEB/2010            02/JAN/2010 01:56:00.268099 AM
    10020335P8017MT0010032          001     003                  03                      14/JAN/2011            14/JAN/2011 04:25:19.018217 PM
    10020335P8017MT0010042          001     004                  03                      21/JAN/2011            21/JAN/2011 04:00:31.719444 PM
    10020335P8017MT0050022          005     002                  03                      21/JAN/2011             21/JAN/2011 04:02:48.953594 PM
    */Rule;
    Every PC_COVKEY, query should recursively join and generate set of records depending on latest SEQUENCE_ALPHA for the coverage number at that point of time. For ex,
    for 10020335P8017MT0010042 (4 row) should generate 2 records
    1. 10020335P8017MT0010042001004 (PC_COVKEY || COVERAGE_NUMBER || latest SEQUENCE_ALPHA--004 for cover 001), SEQUENCE_ALPHA 001 for cover 001 is not the latest for 10020335P8017MT0010042.
    2. 10020335P8017MT0010042005001 (coverage number 005, and latest sequence alpha-001 for cover 005).
    SEQUENCE_ALPHA 002 for cover 005 is not the latest for 10020335P8017MT0010042 as it happened later stage.
    for 10020335P8017MT0050022 (5 row) should generate 2 records as
    1. 10020335P8017MT0050022001004 (PC_COVKEY || COVERAGE_NUMBER || latest SEQUENCE_ALPHA--004 for cover 001),
    2. 10020335P8017MT0010042005002 (coverage number 005, and latest sequence alpha-002 for cover 005)
    WITH SNAPSHOT_CVR_CTP as (
    SELECT pcd1.PC_COVKEY,
           pcd1.PC_COVKEY||pcd2.COVERAGE_NUMBER||pcd2.SEQUENCE_ALPHA as cov_key,
           pcd2.COVERAGE_NUMBER,
           pcd2.SEQUENCE_ALPHA,
           pcd2.COVERAGE_NUMBER||pcd2.SEQUENCE_ALPHA as CVRSEQ,
           max(pcd2.COVERAGE_NUMBER||pcd2.SEQUENCE_ALPHA) over (partition by pcd1.PC_COVKEY, pcd1.COVERAGE_NUMBER
           order by pcd2.COV_CHG_EFF_DATE, pcd2.TIMESTAMP_ENTERED) as MaxSeq,
           pcd2.COV_CHG_EFF_DATE,     
           pcd2.TIMESTAMP_ENTERED
    FROM
    PC_COVKEY_PD pcd1,
    PC_COVKEY_PD pcd2
    select * from SNAPSHOT_CVR_CTP SC
    WHERE sc.PC_COVKEY = '10020335P8017MT0010042'  -- 4 row
    --AND  COVERAGE_NUMBER||SC.MAXSEQ = COVERAGE_NUMBER||SEQUENCE_ALPHA
    ORDER BY TIMESTAMP_ENTERED
    PC_COVKEY     COV_KEY     COVERAGE_NUMBER     SEQUENCE_ALPHA     CVRSEQ          MAXSEQ     COV_CHG_EFF_DATE     TIMESTAMP_ENTERED
    10020335P8017MT0010042     10020335P8017MT0010042001001     001     001     001001     001001     01/FEB/2010     02/JAN/2010 01:55:59.990216 AM
    10020335P8017MT0010042     10020335P8017MT0010042005001     005     001     005001     005001     01/FEB/2010     02/JAN/2010 01:56:00.268099 AM
    10020335P8017MT0010042     10020335P8017MT0010042001003     001     003     001003     005001     14/JAN/2011     14/JAN/2011 04:25:19.018217 PM
    10020335P8017MT0010042     10020335P8017MT0010042001004     001     004     001004     005001     21/JAN/2011     21/JAN/2011 04:00:31.719444 PM
    10020335P8017MT0010042     10020335P8017MT0010042005002     005     002     005002     005002     21/JAN/2011     21/JAN/2011 04:02:48.953594 PM
    I am trying to filter row using MAXSEQ but at the moment MAXSEQ values are not coming as expected. I expect following value for COV_KEY combination
    COV_KEY                                         MAXSEQ
    10020335P8017MT0010042001001     001004
    10020335P8017MT0010042005001     005001 -- match
    10020335P8017MT0010042001003     001004
    10020335P8017MT0010042001004     001004 -- match
    10020335P8017MT0010042005002     005001Would appreciate if anyone can get MAxSEQ as expected.

    Something like..
    with dist_cov_numbers as
      select distinct coverage_number cov_number
      from PC_COVKEY_PD
    all_data as
      select pcd.*,d.cov_number new_coverage_number,
             max(decode(coverage_number,d.cov_number,sequence_alpha))
                  over( partition by d.cov_number
                        order by COV_CHG_EFF_DATE,TIMESTAMP_ENTERED
                                  ) max_seq
      from PC_COVKEY_PD pcd,dist_cov_numbers d
    select pc_covkey,pc_covkey||new_coverage_number||max_seq new_key,
           pc_covkey||coverage_number||sequence_alpha actual_key
    from all_data
    order by COV_CHG_EFF_DATE, TIMESTAMP_ENTERED;
    PC_COVKEY                   NEW_KEY                           ACTUAL_KEY                     
    10020335P8017MT0010012      10020335P8017MT0010012001001      10020335P8017MT0010012001001     
    10020335P8017MT0010012      10020335P8017MT0010012005         10020335P8017MT0010012001001     
    10020335P8017MT0050012      10020335P8017MT0050012001001      10020335P8017MT0050012005001     
    10020335P8017MT0050012      10020335P8017MT0050012005001      10020335P8017MT0050012005001     
    10020335P8017MT0010032      10020335P8017MT0010032001003      10020335P8017MT0010032001003     
    10020335P8017MT0010032      10020335P8017MT0010032005001      10020335P8017MT0010032001003     
    10020335P8017MT0010042      10020335P8017MT0010042005001      10020335P8017MT0010042001004     
    10020335P8017MT0010042      10020335P8017MT0010042001004      10020335P8017MT0010042001004     
    10020335P8017MT0050022      10020335P8017MT0050022005002      10020335P8017MT0050022005002     
    10020335P8017MT0050022      10020335P8017MT0050022001004      10020335P8017MT0050022005002 
    10 rows selected Edited by: jeneesh on Nov 22, 2012 10:54 AM

  • Difference between JOIN and Subquery

    HI all,
    What is the difference between JOIN and Subquery?
    Regards,
    - Sri

    JOIN is combining factor or two data sources.
    Subquery is the resultant set of datasource(s) which can be joined/compared to other data source in your main query.

  • Joins and where execution

    When two tables are joined and there is a where predicate, what is done first ?
    1) the WHERE in order to filter the records being joined.
    2) the JOIN and after both tables are together with all their records Oracle filters according to the where predicate ?
    Thanks.

    It depends on the information available to the optimizer. In most cases, Oracle will use any predictes on the driving table to filter rows from that table before joining to the other table. Whether it applies predicates to the other table before or after joining depends on the selectivity of the predicate implied by the join compared to any other predicates.
    John

  • Joins and where

    When two tables are joined and there is a where predicate, what is done first ?
    1) the WHERE in order to filter the records being joined.
    2) the JOIN and after both tables are together with all their records Oracle filters according to the where predicate ?
    Thanks.

    The SQL and PL/SQL forum is at:
    PL/SQL
    You may reach a wider audience if you post your SQL language
    question there.
    -- CJ

  • Joins and Unions  defference

    Hi Mates.
    Could any one tell me the Basic difference between Joins and Unions . I know InfoSet contain  joins and Multiproviders contains the unions.
    Regards.
    harry

    Hi Harry,
       Let suppose you had two table TAB1 = 10 records and TAB2 = 30.
       If you are using the left join based on TAB1 for TAB2 then you will get only 10 only.
       If you are using the inner join between tab1 and tab2 then you will get only the combination of records only...(less records)
      if you are using the union between the two tables then you will get totaly 40 records.
    Regards,
    PRK
    Message was edited by: PRK

  • Absolute dynamic select query with dynamic join and where

    Has anyone ever tried creating an absolutely dynamic SELECT query with dynamic Join and Where conditions.
    I have a requirement of creating such a query in an Utility Class, and i have written the code. But its throwing my sysntax errors.
    Please let me know where am I going wrong OR is it really possible to create such a dynamic Query??
        SELECT (FIELDS) INTO TABLE IT_TABLES
          FROM ( (ME->TABLE1)  inner join ( me->table2 )
          on ( on_condition ) )
          WHERE (me->where_fields).
    Ags.

    It worked for me in a following way:
    select * into corresponding fields of table <result_table>
            from (join_string)
            where (l_where).
    Where the contents of join_string were dynamically build using concatenation. So it will be something like
    concatenate ME->TABLE1 'as a INNER JOIN' me->table2 'as b ON (' into join_string separated by space.
    <...>
    add here matching/reference colums, something like
    concatenate 'a~' me->TABLE1_JOIN_COL into temp1.
    concatenate 'b~' me->TABLE2_JOIN_COL into temp2.
    concatenate join_string temp1 '=' temp2 into join_string separated by space.
    <...>
    concatenate join_string ')' into join_string separated by space.
    And then use similar approach for l_where variable.

  • Hash semi join and join selectivity

    Hi,
    I'm looking for an explanation of the rule-of-thumb that hash joins are more efficient for high selectivity joins.
    If I have a query with two tables, semi-joined together using an EXISTS clause, why would a hash join be better for a high selectivity join as opposed to a low selectivity join?
    To clarify, my definition of selectivity is:
    selectivity = # of rows returned / # of rows processed
    Or in more database specific terms:
    selectivity = num_rows/cardinality
    Selectivity is a value between 0 and 1, so by high selectivity, I mean a selectivity value closer to 1.
    Thanks for any input.
    - KR

    kenny r. wrote:
    Hi,
    I'm looking for an explanation of the rule-of-thumb that hash joins are more efficient for high selectivity joins.
    If I have a query with two tables, semi-joined together using an EXISTS clause, why would a hash join be better for a high selectivity join as opposed to a low selectivity join?
    To clarify, my definition of selectivity is:
    selectivity = # of rows returned / # of rows processed
    Or in more database specific terms:
    selectivity = num_rows/cardinality
    Selectivity is a value between 0 and 1, so by high selectivity, I mean a selectivity value closer to 1.KR,
    the question is "more efficient" than ... what?
    A hash join is usually the most efficient operation if you have to join a large set or two large sets. Often the hash join operation performs full table scans as part of the join operation, but not necessarily.
    The cost of the hash join depends on the volume to join, the available memory and the resulting operation (optimal / one-pass / multi-pass). If the hash table can be kept in memory then it's simply the cost to read the first data set used as hash table, the cost of reading the probe table and the CPU cost of processing the hash join. If the hash table doesn't fit into memory, it depends on how often the build (hash) table and probe data needs to be read (one-pass / multi-pass) to perform the join with the hash table.
    If you have a "low selectivity" join, and I assume you mean that the join actually filters out many rows by "low selectivity", then other join operations might be more effective, like a NESTED LOOP that uses the smaller table to iterate via an index access over the second table, selectively picking the rows corresponding to the first table. Depending on the number of iterations and the number of rows of the second table to process per iteration this can be very efficient, but tends to be very inefficient if the iterations and/or number of rows in second table is significantly larger than estimated.
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

  • Need complex query  with joins and AGGREGATE  functions.

    Hello Everyone ;
    Good Morning to all ;
    I have 3 tables with 2 lakhs record. I need to check query performance.. How CBO rewrites my query in materialized view ?
    I want to make complex join with AGGREGATE FUNCTION.
    my table details
    SQL> select from tab;*
    TNAME TABTYPE CLUSTERID
    DEPT TABLE
    PAYROLL TABLE
    EMP TABLE
    SQL> desc emp
    Name
    EID
    ENAME
    EDOB
    EGENDER
    EQUAL
    EGRADUATION
    EDESIGNATION
    ELEVEL
    EDOMAIN_ID
    EMOB_NO
    SQL> desc dept
    Name
    EID
    DNAME
    DMANAGER
    DCONTACT_NO
    DPROJ_NAME
    SQL> desc payroll
    Name
    EID
    PF_NO
    SAL_ACC_NO
    SALARY
    BONUS
    I want to make  complex query  with joins and AGGREGATE  functions.
    Dept names are : IT , ITES , Accounts , Mgmt , Hr
    GRADUATIONS are : Engineering , Arts , Accounts , business_applications
    I want to select records who are working in IT and ITES and graduation should be "Engineering"
    salary > 20000 and < = 22800 and bonus > 1000 and <= 1999 with count for males and females Separately ;
    Please help me to make a such complex query with joins ..
    Thanks in advance ..
    Edited by: 969352 on May 25, 2013 11:34 AM

    969352 wrote:
    why do you avoid providing requested & NEEDED details?I do NOT understand what do you expect ?
    My Goal is :
    1. When executing my own query i need to check expalin plan.please proceed to do so
    http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_9010.htm#SQLRF01601
    2. IF i enable query rewrite option .. i want to check explain plan ( how optimizer rewrites my query ) ? please proceed to do so
    http://docs.oracle.com/cd/E11882_01/server.112/e16638/ex_plan.htm#PFGRF009
    3. My only aim is QUERY PERFORMANCE with QUERY REWRITE clause in materialized view.It is an admirable goal.
    Best Wishes on your quest for performance improvements.

  • EA1 - SQL Formatter issues (JOINs and GROUPs and ORDER BY oh my ;)

    Great job with improving the SQL Formatter, but it still has some bugs that need to be worked out.
    The key words JOIN and it's modifiers INNER, LEFT, RIGHT and FULL OUTER are not recognized as master key words. As such they end up flush against the left margin Also when GROUP BY and/or ORDER BY key words are present in an outer most select statement the other key words are not indented far enough to be right aligned with the end of the word BY and are indented too far to be right aligned with the word GROUP or ORDER. In sub queries, GROUP and ORDER BY are correctly right aligned with their respective SELECT statements.

    We're picking up and collating the Formatter issues. I'll add these.
    Specific bug for these #7013462
    Sue

  • Are inner join and equijoin are same....?

    are inner join and equijoin are same....?

    WhiteHat wrote:
    interesting it says that - an equi join is a type of inner join but you can't really say they are the same thing.Simply said it it like this:
    Equi join means compare two tables where a value is in each table using an equal sign.
    An inner join means: We use the INNER JOIN keyword and have a join condition between the two tables.
    example1
    select *
    from emp
    inner join dept on emp.dept_no = dept.dept_no;This example is an inner join and also an equi join.
    example2
    select *
    from emp
    inner join dept on emp.dept_no >= dept.dept_no;This example is an inner join which is NOT an equi join.
    How to interpret the outcome is a different story (in this case it doesn't make much sense). However the syntax is correct and it is an inner join. But since it doesn't use the equal operator it is an non-equi join.

Maybe you are looking for