Use of second table

HI I need to get some data from a second table in Oracle 10G test system. What is the best approach?
This is a clinical table which has to get the Unit Station Description from a second table.
I am new to Oracle so if someone could describe the steps needed for me that would be great.

You should join these two tables
And you should add primary key constraint for the primary table, and foreign key constraint to the second table referencing to first table's primary key column
Look at this basic example
SQL> create table tab1 (id number, desc_id number);
Table created.
SQL> insert into tab1 values(1,1);
1 row created.
SQL> insert into tab1 values(1,2);
1 row created.
SQL>  create table tab2_description (desc_id number, description varchar2(10));
Table created.
SQL> insert into tab2_description values(1,'one');
1 row created.
SQL> insert  into tab2_description values(2,'two');
1 row created.
SQL> select tab1.id tab1_id,  tab2_description.description tab2_desc from tab1, tab2_description
  2  where tab1.desc_id=tab2_description.desc_id;
   TAB1_ID TAB2_DESC
         1 one
         1 two
SQL>- - - - - - - - - - - - - - - - - - - - -
Kamran Agayev A. (10g OCP)
http://kamranagayev.wordpress.com

Similar Messages

  • Using a second table in a Database Data Block ??

    In a Form, I have a Data Block which is a Database Data Block. The Items are associated with columns in a table.
    I want the items in this repeating block to show in a different order. To do this, I need to use a second table and say where table1.key = table2.key ....
    I keep getting problems at runtime with
    ORA-00918: column ambiguously defined
    I tried to qualify everywhere a column name is used. When I do show error it shows
    SELECT ROWID, ....
    And then the "column ambiguously defined".
    I do not have an item in my Form for ROWID. Maybe it is automatic. (This form DOES do update).
    Is it possible to use two tables in a Data Block like this?
    Thanks

    If you only need to order the records in the block, why not defining the "ORDER BY" clause in the block's property??
    Set the "ORDER BY" clause at design time from the property palette of the block or runtime with column of your choice.
    at runtime your can use:
    SET_BLOCK_PROPERTY('your_block', ORDER_BY, 'your_column');If you need to join to tables in one block read the [Block Based on Join|http://www.oracle.com/technology/products/forms/pdf/BlockOnAJoin.pdf] Documentation.
    Tony

  • UPDATE using a second table for the Where Clause

    Hi There,
    Hoep someone can help me!
    I am attempting to update a field in Tbl.1 to a known value. However, i want to use another table to specify WHICH records to update.
    in this case i want to use table early_provider to obtain the value 'HCR' then pass that to the UPDATE clause in order to SET early_provisions.type_name = 'HOMC'
    I hope this makes sense.
    UPDATE EARLY_PROVISIONS eps
    SET TYPE_NAME = (SELECT *
    FROM EARLY_PROVIDER ep
    WHERE PROVIDER_TYPE = 'HCR'
    WHERE EP.PROVIDER_ID = EPS.PROVIDER_ID);
    I need to be able to include the field value 'HOMC in this statement but am not sure how, or if i am barking up the wrong tree.
    Much appreciated in advance
    PFG

    PFGMcAvoy wrote:
    Karthick_Arp
    Thanks. this seems to only update 15 rows of which already exist in the table early_provisions and filed type_name!
    I should be selecting about 200 recordsd from early_provider that have the provider_type = 'HCR'
    ??I don't know your data. So i cant answer that. But for what you asked i think thats the correct UPDATE statement. So i think you have to investigate your data to find what is going on.

  • Using multiple physical tables in a single logical dimension table

    I have two physical tables that are related on a 1 to 1 basis based on a natural key. One of these tables is already part of my RPD file (actually, it is the W_EMPLOYEE_D from the Oracle BI Applications). The second table contains additional employee attributes from a custom table added to the data warehouse. Unfortunately, I don't seem to be able to display ANY data from this newly added custom table! I'm running on OBIEE 11.1.1.6.
    Here's what I've tried to do. Lets call the original table E1 and the new one E2. E1 is part of the repository already, and has functioned perfectly for years.
    - In my physical model, I have imported E2 and defined the join between E1 and E2.
    - In my logical table for E1, I've mapped E2 to E1 (E2 appears as a source), set up an INNER JOIN in the joins section for E1 and added the attributes from E2 in the folder
    - In the SOURCES for this logical table, I've set the logical level of the content for E2 appropriately (detail level, same as E1)
    - In my presentation folder for E1, I've copied in the attributes from E2 that were included in my logical table
    Consistency check runs smoothly, no warnings or errors. Note: E2 contains hundreds of rows, all of which have matching records in E1.
    Now, when I create an analysis that includes only an attribute sourced from E2, I get a single row returned, with a NULL value. If I create an analysis that includes one attrribute from E1 and one from E2, I get all the valid E1 records with data showing, but with NULL for the E2 attributes. Remember, I have an inner join, which means that the query is "seeing" E2 data, it is just choosing not to show it to me! Additionally, I can grab the query from the NQQuery.log file - when I run this SQL in SQL*Developer, I get PERFECT results - both E1 and E2 attributes show up in the SQL - the query engine is generating valid SQL. The log file does not indicate there are any errors either; it does show the correct number of rows being added to cache. If I create a report that includes attributes from E1, E2 and associated fact metrics I get similar results. The reports seem to run fine, but all my E2 attributes are NULL in Answers. I've verified basics, like data types, etc. and when I "Query Related Objects" in the repository, everything looks consistent across all 3 layers and all objects. E2 is located in the same (Oracle) database and schema as E1, and there are no security constraints in effect.
    I've experimented with a lot of different things without success, but I expected that the above configuration should have worked. Note that I cannot set up E2 as a new separate dimension, as it does not contain the key value used to join to the facts, nor do the facts contain the natural key that is in both E1 and E2.
    Sorry for the long post - just trying to head off some of the questions you might have.
    Any ideas welcomed! Many thanks!
    Eric

    Hi Eric,
    I would like you to re-check on the content level settings here as they are the primary causes of this kind of behavior. You could notice that the same information might have written down in the logical plan of the query too.
    Also, as per your description
    "In the SOURCES for this logical table, I've set the logical level of the content for E2 appropriately (detail level, same as E1)"
    I would like to check on this point again, as if you had mapped E2 to E1 in the same logical source with an inner join, you would get to set the content level at E1 levels themselves but not E2 (Now, that E2 would become a part of the E1 hierarchy too). This might be the reason, the BI Server is choosing to elimiate(null) the values from E2 too (even you could see them in the sql client)
    Hope this helps.
    Thank you,
    Dhar

  • Mutating table exception & use of a table column in where clause

    Hello,
    I have a scenario in which I am getting a Mutating table exception in which I have a trigger using which I insert into a second table in case there is an insert in the first table or the one which is associated with the trigger .
    my trigger code has this line which is causing the Mutating table exception :
    BEGIN
    IF INSERTING THEN
    SELECT a,b INTO var_a,var_b
    FROM tableA,tableB,tableC
    WHERE tableC.c = :new:c
    The problem is the tableC reference in my where clause is causing a Mutating table exception , but I don't see any other way in which I can get rid of it cause I need to check if new:c values exists in the table or not , can anybody suggest how I can get rid of the tableC reference in my SQL statement yet be able to check for the value of :new:C in my statement ?

    Hopefully this demonstrates the problem , the bold portion or the where clause is where I am getting flummoxed , I need to be able to compare the new value to a column in table C but if I use tableC reference I get mutating table exception
    create or replace
    trigger myTrigger
    after insert or delete or update on TableC
    referencing old as old new as new
    for each row
    DECLARE val1 number; val2 CHAR(1);
    BEGIN
    IF INSERTING THEN
    SELECT tableA.val1,tableB.val2 INTO val1,val2
    FROM TableA tableA,TableB tableB
    WHERE :new.val1
    AND :new.val1 is not null
    AND tableA.val2 = :new.val2
    AND tableB.val3 = tableA.val3
    AND tableC.val4 = :new.val5
    INSERT INTO TableD (col1 ,
    col2,
    col3,
    col4,
    col5,
    col6,
    col7,
    col8,
    col9)
    VALUES(:new.val1,
    :new.val2,
    :new.val3,
    tableA.val1,
    tableB.val2,
    :new.val4,
    :new.val5,
    :new.val6,
    :new.val7);

  • How to exclude records from one table that is contained in a second table

    I am trying to create a Crystal report that excludes records from one Table that is contained in a second table using the != link option and it is not working. I've tried all of the different enforce options, and it is still not excluding those records. Does anyone have any suggestions of what I'm doing wrong or any other suggestions how I can obtain the results I need?
    Thanks in advance!

    Have you tried by Command ?
    Thanks,
    Gordon

  • SQL - Select Help - Case When? Return Value from Second Table?

    Hi - next to folks on this board I am probably somewhere between a Beginner and an Intermediate SQL user.
    Ive been using a case when statement in plsql to find "all those who's status in any program was cancelled during a specific time, but have become or are still active in a second program"
    So, Im effectively trying to return a value from a second table in a case when, but its not liking anthing other than a declared text like 'Yes' or 'No'.
    Here is the select statement - is there another way to do this where I can get the results I need?
    case when pp.party_id in (select pp1.party_id  -- Cancelled clients Active in another program
                                       from asa.program_participation          pp1,
                                            asa.curr_prog_participation_status cpps1
                                      where pp1.program_participation_id = cpps1.program_participation_id
                                        and pp1.party_id = pp.party_id
                                        and cpps1.code_value = 'ACT')
                then 'Yes' else 'No' end  as Active_in_Other_Prg
    So - in place of 'Yes' i basically want the program that they are active in or pp1.program_id, else Null
    It is possible that the client can be active in more than one program as well.
    Any assistance is greatly appreciated, i explored with if's and decodes but I cant get anything to work.
    Batesey

    Sounds like an outer join. See ora doc: Joins
    select p.*
    ,      q.party_id
    ,      q.program_id
    from   table_with_party_id p
    ,    ( select pp1.party_id  -- Cancelled clients Active in another program
           ,      pp1.program_id
           from   asa.program_participation          pp1,
                  asa.curr_prog_participation_status cpps1
           where  pp1.program_participation_id = cpps1.program_participation_id
           and    pp1.party_id = pp.party_id
           and    cpps1.code_value = 'ACT') q
    where p.party_id = q.party_id ( +)
    Note: In the example above there shoudn't be a space between the ( and +), but the forum software automagically converts this to
    The outer join will link show all records from the p table and only records from q if the party_id matches, ie q.party_id and q.program_id  will be null if there is no match.
    edit: added program_id

  • ABAP Webdynpro - Populating second table based on data selected on first

    Hi Experts,
      I am new to ABAP Webdynpro. I have a requirement to show a search area, one table for header info, and second table for populating item level information.
      I was successful building a search area and populating first table when the 'Search' button is pressed.
      Now, I like to populate the second table with item details if a row on first table is selected. I tried to bind the OnSelect Event of first table to a method and try to get the results and bind to second table.. However, I am unsuccessful in this attempt.
      Here are my questions/challenges.
      1. When I select a row on first table, how can I extract the key information?
      2. Is it sufficient to create a context attribute and populate it with FM and bind that with second table? 
    I appreciate your help in answering this question.
    Thanks,
    SG

    Hi,
    Regarding...
    1. When I select a row on first table, how can I extract the key information?
    When you select any row in table, a lead selection will be set in the node which bound to the table.
    To read this selected record you need to use the following code. Here the name of context node is "FLAGS". And the structure ls_flags contains all the attributes defined in the node.
    DATA lo_nd_flags TYPE REF TO if_wd_context_node.
      DATA ls_flags TYPE wd_this->element_flags.
      lo_nd_flags = wd_context->get_child_node( name = wd_this->wdctx_flags ).
      CALL METHOD lo_nd_flags->get_static_attributes
        IMPORTING
          static_attributes = ls_flags.
    Regarding....
    2. Is it sufficient to create a context attribute and populate it with FM and bind that with second table?
    Based on the data that you got in the first step, you can fill an internal table with data that needs to be displayed in 2nd table.
    To bind the internal table you need to define the internal table of type context node. Use the following code to bind the internal table to context node which bound to 2nd table. Here name of  the context node is "OVERVIEW".
    DATA: lo_nd_overview TYPE REF TO if_wd_context_node,
                lt_overview TYPE wd_this->elements_overview.
    <<<< Fill lt_overview with data >>>>>
            lo_nd_overview = wd_context->get_child_node( name = wd_this->wdctx_overview ).
            CALL METHOD lo_nd_overview->bind_table
              EXPORTING
                new_items            = lt_overview.
    Alternatively you can use the Supply Function Method.
    Vikrant Trivedi

  • Trying to update one table from a second table when data is different

    Hello;
    I have a the same table in two databases. The database are connected with a DB Link. I am trying to update one of the tables based on the data in the second table when the EMP_ID matches but the LAST_NAME does not match.
    The table(s) look like:
    Table Name:EMP
    EMP_ID
    LAST_NAME
    FIRST_NAME
    MIDDLE_INITIAL
    My SQL is:
    update EMP TARGET
        set (TARGET.LAST_NAME, TARGET.FIRST_NAME,TARGET.MIDDLE_INITIAL) = (
            select SOURCE.LAST_NAME, SOURCE.FIRST_NAME, SOURCE.MIDDLE_INITIAL
            from EMP@OTHER_DB SOURCE where
            TARGET.PHYSICIAN_ID = SOURCE.PHYSICIAN_ID
            and TARGET.LAST_NAME <> SOURCE.LAST_NAME); This returns an update count of all the rows not the few that I want.
    Any help would be great!

    Hi,
    Sky13 wrote:
    Hello;
    I have a the same table in two databases. The database are connected with a DB Link. I am trying to update one of the tables based on the data in the second table when the EMP_ID matches Do you <b>physician</b>_id?
    but the LAST_NAME does not match.
    The table(s) look like:
    Table Name:EMP
    EMP_ID
    LAST_NAME
    FIRST_NAME
    MIDDLE_INITIAL
    My SQL is:
    update EMP TARGET
    set (TARGET.LAST_NAME, TARGET.FIRST_NAME,TARGET.MIDDLE_INITIAL) = (
    select SOURCE.LAST_NAME, SOURCE.FIRST_NAME, SOURCE.MIDDLE_INITIAL
    from EMP@OTHER_DB SOURCE where
    TARGET.PHYSICIAN_ID = SOURCE.PHYSICIAN_ID
    and TARGET.LAST_NAME <> SOURCE.LAST_NAME); This returns an update count of all the rows not the few that I want.
    Any help would be great!There's no WHERE clause in that UPDATE statement, so every row of the target table will be modified.
    if you only want to modify the rows that have a match in the source table, then add a WHERE clause (perhaps "WHERE EXISTS (...) with a sub-query very miuch like the one you already have), or use MERGE instead of UPDATE.
    If you'd like help, post CREATE TABLE and INSERT statements to re-create the tables as they exist before the UPDATE, and also post the contents of the changed table after the UPDATE.
    Always say which version of Oracle you're using.
    Perhaps you want something like this:
    {code}
    MERGE INTO     emp     target
    USING     (
         SELECT     o.emp_id
              ,     o.last_name
              ,      o.last_name
              ,      o.middle_initial
              FROM     emp@other_db     o
              JOIN     emp          t ON     o.emp_id     = t.emp_id
                             AND     o.last_name     != t.last_name
         )          source
    ON     (target.emp_id     = source.emp_id
    WHEN MATCHED THEN UPDATE
    SET     target.last_name     = source.last_name
    ,     target.first_name     = source.first_name
    ,     target.middle_initial     = source.middle_initial
    {code}
    assuming emp is unique, at least in other_db.
    This will work in Oracle 10 (and up). In Oracle 9, MERGE always requires a WHEN MATCHED clause, so add one if you must. it doesn't matter what it does; the USING subquery will only return matches.
    Edited by: Frank Kulash on Oct 10, 2011 4:45 PM

  • How to format a cell in a second table to show m3 as m³

    I can make an "own format" but I need it too often.
    So it will be much work.
    After I change the first cell to other text, the "own format" wil be shown a wrong Text in this second table-cell.
    So, how else?

    To get the number in to superscript you can use the keys Ctrl + Cmd + plus sign. Press the keys just before writing the number and then gain just after to get the coming text in normal format
    I am not sure I understood all of your post. If there is another hidden question please repeat it.

  • I want to know the top 10-20 Store procedures used in the table.

    Hello All, 
    There are total 3500+ Store procedures created in the server. So,  I want to know the top 10-20 Store procedures used in the table. Like which store procedures are important and what are they, is there any code to find them? 
    I think the question might be very silly, but i don't know which store procedure to look at it. 
    Please help me on this issue.
    Thanks.
    Thanks, Shyam.

    By what? CPU? Memory? Execution count?
    Glenn Berry wrote this
    -- HIGH CPU ************
          -- Get Top 100 executed SP's ordered by execution count
          SELECT TOP 100 qt.text AS 'SP Name', qs.execution_count AS 'Execution Count',  
          qs.execution_count/DATEDIFF(Second, qs.creation_time, GetDate()) AS 'Calls/Second',
          qs.total_worker_time/qs.execution_count AS 'AvgWorkerTime',
          qs.total_worker_time AS 'TotalWorkerTime',
          qs.total_elapsed_time/qs.execution_count AS 'AvgElapsedTime',
          qs.max_logical_reads, qs.max_logical_writes, qs.total_physical_reads, 
          DATEDIFF(Minute, qs.creation_time, GetDate()) AS 'Age in Cache'
          FROM sys.dm_exec_query_stats AS qs
          CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
          WHERE qt.dbid = db_id() -- Filter by current database
          ORDER BY qs.execution_count DESC
          -- HIGH CPU *************
          -- Get Top 20 executed SP's ordered by total worker time (CPU pressure)
          SELECT TOP 20 qt.text AS 'SP Name', qs.total_worker_time AS 'TotalWorkerTime', 
          qs.total_worker_time/qs.execution_count AS 'AvgWorkerTime',
          qs.execution_count AS 'Execution Count', 
          ISNULL(qs.execution_count/DATEDIFF(Second, qs.creation_time, GetDate()), 0) AS 'Calls/Second',
          ISNULL(qs.total_elapsed_time/qs.execution_count, 0) AS 'AvgElapsedTime', 
          qs.max_logical_reads, qs.max_logical_writes, 
          DATEDIFF(Minute, qs.creation_time, GetDate()) AS 'Age in Cache'
          FROM sys.dm_exec_query_stats AS qs
          CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
          WHERE qt.dbid = db_id() -- Filter by current database
          ORDER BY qs.total_worker_time DESC
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • Exporting to excel..error in using excel easy table.vi

    Hi...
    Am using excel easy table.vi to export my data to excel.....it contains a date field...When exported to excel,the date and month is getting interchenged.
    ie,05/03/2008 is converted as 03/05/2008...What is the work around for this?
    i read in one of the posts that  have to format the date filed using  Excel Set cell Format.vi..I tried wth that ,but so far cudnt fix...i tried wth using @ in the number format..then i was getting a string instead of datetime.When used%d/%m/%Y..then i was getting error.
    If i can use that,how do i.
    My datetime filed is the first column in the 2D array.
    Thanks in advance...

    Hi,
    Excel handles date and time as a floating point decimal representation.  The integral value (to the left of the decimal) represents the number of days since the beginning of the 20th century.  The decimal value represents the time of day from midnight in seconds divided by 86,400 (i.e. 6:00:00PM = 0.75). 
    Excel chooses the default regional date format (i.e. MM/DD/YYYY, DD/MM/YYYY, etc.) based on your current location setting.  You can manually change the format of a particular cell by right clicking on any cell and selecting 'Format Cells', then selecting 'Date', and finally changing the 'Locale (location)' to the desired format.  This allows you to format the date however you'd like.
    Unfortunately, Microsoft Excel does not have a text function to programatically change the 'Locale (location)' setting for a cell.  This means that if you need to send a date through the Report Generation Toolkit that is in a format different from the current location setting, you will need to convert the date representation to text.  This will change the way Excel handles the cell data from the date format mentioned above to a simple text sting.  For example, if you're trying to convert the date '12/24/2008' in cell A1 into '24/12/2008', you can use the following code:
    =TEXT(A1,"dd/mm/yyyy")
    If you try to keep the cell formatted as a date, Excel will interpret '24' as a month and '12' as a date, which results in an incorrect date.  There is no easy way to programatically convert this text string back into a date without manually changing the date format of the cell.
    Credit: Ganesh Ganeshkumar
    Regards, Kate

  • HOW TO SELECT ONLY THOSE RECORDS WHERE NOT AVAILABLE ON SECOND TABLE

    hi
    i have two tables one name is menus and second name is UGroupDetail. Actually i have created it for user role privileges for my application
    USE [LedgerDB]
    GO
    /****** Object: Table [dbo].[Menus] Script Date: 03/28/2015 13:45:27 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[Menus](
    [RightID] [int] NOT NULL,
    [RightName] [nvarchar](200) NULL,
    [GroupID] [int] NULL,
    CONSTRAINT [PK_Menus] PRIMARY KEY CLUSTERED
    [RightID] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    second table is
    USE [LedgerDB]
    GO
    /****** Object: Table [dbo].[UGroupDetail] Script Date: 03/28/2015 13:46:12 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[UGroupDetail](
    [RightID] [int] NOT NULL,
    [RightName] [nvarchar](200) NULL,
    [GroupID] [int] NULL
    ) ON [PRIMARY]
    GO
    ALTER TABLE [dbo].[UGroupDetail] WITH CHECK ADD CONSTRAINT [FK_UGroupDetail_Menus] FOREIGN KEY([RightID])
    REFERENCES [dbo].[Menus] ([RightID])
    ON UPDATE CASCADE
    ON DELETE CASCADE
    GO
    ALTER TABLE [dbo].[UGroupDetail] CHECK CONSTRAINT [FK_UGroupDetail_Menus]
    GO
    ALTER TABLE [dbo].[UGroupDetail] WITH CHECK ADD CONSTRAINT [FK_UGroupDetail_UserGroup] FOREIGN KEY([GroupID])
    REFERENCES [dbo].[UserGroup] ([GroupID])
    ON UPDATE CASCADE
    ON DELETE CASCADE
    GO
    ALTER TABLE [dbo].[UGroupDetail] CHECK CONSTRAINT [FK_UGroupDetail_UserGroup]
    UGroupDetail have many groups as assigned to a new user but Menus table has only default groups which is 90 records
    Menus table is a primary table and UGroupDetail is a Foreign key table
    now i want to combined these tables and want to get only remaining records for each group
    for example i have assigned 5 roles to GroupID 2 and now when i apply select commands the result should be 85 out 90 for GroupID 2
    but i have not idea how to modify select query for get desired result

    I don't really understand the tables. What is GroupID doing in the Menues table? And what does an entry without a RightName mean? Shouldn't that column be NOT NULL?
    The UGroupDetail does not have any primary key. From your description, I would expect the PK to be (RightID, GroupID). But strangely enough, GroupID is nullable. So is RightName, but I think this column is redundant and should be removed.
    Anyway, if I understand your question correctly, you need something like:
    SELECT UG.Name, M.RightName
    FROM   UserGroups UG
    CROSS  JOIN Menus M
    WHERE  NOT EXISTS (SELECT *
                       FROM   UGroupDetail UGD
                       WHERE  UG.GroupID = UGD.GroupID
                         AND  UG.RightID = M.RightID)
    Erland Sommarskog, SQL Server MVP, [email protected]

  • Deleting from a table based on values in a second table

    Is it possible to DELETE from (or for that matter do an UPDATE to) a table based on values in another table? I have gone through the online documentation but can't seem to find anything. I'm trying to delete rows from table A where A.field1 = B.field1 and B.field2 = 'X'. (B being the second table)

    It is done using subqueries in the where clause.
    delete from A
    where A.field1 in (select B.field1 from B where B.field2 = 'X');
    delete from A
    where exists (select 'x' from B where B.field1 = A.field1 and B.field2 = 'X');
    delete from A
    where A.rowid in (select A.ROWID from from A, B where B.field1 = A.field1 and B.field2 = 'X');
    And many other varieties. Eg. more specialised:
    delete from A
    where A.txdate < (select B.prune_date FROM B where B.field1 = A.field1 and B.field2 = 'X')
    and A.txstate in (select S.txstate from S where S.prodlass=a.prodclass and s.deletable='Y');

  • Loans disappear from report after fields from second table are added

    We are using Crystal XI.  We have two tables from a sequel database we use for the reports, and we always have.  Suddenly, we have been experiencing problems with loans being dropped from the reports and we have been trying to isolate the problem.  To troubleshoot, I created a very simple report to provide the loan number and the borrower name from Table 1.  I did not create any parameters so the report provided the information for all loans in the database.  However, when I add a field to the report from Table 2, either all of the loans disappear or the number of loans on the report are drastically reduced.
    As another test, I created a report to include just the loan number.  The loan number field appears in both tables.  I get different results if add the loan number to the report from Table 1 than I get if I add the loan number to the report from Table 2. When I create the report, the tables auto-link with no errors.  
    I have reviewed all the report options and general options in Crystal and can't find why this is occurring.  I have had our IT staff troubleshoot and help me test using older versions of the tables, but we get the same results.  Any suggestions will be greatly appreciated.

    From what you have described, could it be your table joins?  You mention that once you add the second table, records get dropped.
    Check your table join, even though it auto links, right click on the link and see if the join is INNER or LEFT OUTER.
    If INNER then every loan number in Table 1 should exist in Table 2, LEFT OUTER = every loan number in table 1 will be fetched irrespective of whether it has a corresponding match in table 2 or not.
    Check your joins and change them and see if that makes a difference.

Maybe you are looking for

  • Error #1034 Type Coercion fail with registerClassAlias and nested Vectors

    I'm attempting to use flash.net.registerClassAlias and ByteArray.writeObject in order to serialize/deserialize data with static type information.  It works as you'd expect in the general case but I've run into problems with some nested Vectors that I

  • HP Laserjet 6L paper feed

    For some reason, the paper has started coming out the bottom front of the printer, rather than following the normal path to the top front bin. I've wiped down everything I can reach inside the unit with alcohol. How can I fix this? Thanks. -- Neil

  • How to remove boot camp partion after windows has been deleted

    I have removed windows 7 from my mac book air. however the partition will not be deleted... how can I remove the partition.

  • NAMED SQL QUERY PROBLEM

    I am trying to run a named read all query, which requires me to use the "AS" keyword for tables to eliminate ambiguity. This does not appear to populate my vector of object, as I assume the field names end up being different ie. FIELD1 gets T.FIELD1.

  • How to check which is th best method to use in LSMw and the file

    Hi all, I am new to LSMW, Can know me when i get the file , how to check the which is the Best method ( Batch input, Direct input,BAPI, IDOC)  have to use in LSMW . How to check the input file is completely filled and how to check whether it is corre