How to return multiple rows in case when condition?

I want to display the list of product names owned by a company.If no products found it should return a string like "NO PRODUCTS FOUND'
The query I wrote working well but when the condition does not satisfy Its not returning  "NO PRODUCTS FOUND''. Can someone help me how can I do this?
declare @Country varchar(100)='Netherlands'
SELECT     CASE WHEN count(table4.ProductName) >0 THEN table4.ProductName 
               ELSE 'NO PRODUCTS FOUND' END AS Product_list
FROM              table2 INNER JOIN
                      table1 ON table2.AccountID = table1.AccountID INNER JOIN
                      table3 ON table1.[company_ID] = table3.[company_ID] INNER JOIN
                      table4 ON table4.ProductID = table2.ProductID
WHERE    
                     table1.[country] IN (@Country)) AND table4.ProductID IN (24410, 24413, 24418, 24383,                           24384))
GROUP BY table4.ProductName 

Your DDL does not match your query.
You also supplied no test data.
You're using INNER JOINS to enforce relationships that may not exist. You're using a WHERE clause to do the same.
Try this:
DECLARE @table1 TABLE (accountid int not null, productID varchar(20), company_id int)
DECLARE @table2 TABLE (accountid int not null, country varchar(20))
DECLARE @table3 TABLE (company_id int not null, company_name varchar(20))
DECLARE @table4 TABLE (productID int not null, productname varchar(20))
INSERT INTO @table2 (accountid, country) VALUES (1, 'Netherlands'),(2, 'Netherlands'),(3, 'Germany')
INSERT INTO @table1 (accountid, productID, company_id) VALUES (1,24410,1)
INSERT INTO @table3 (company_id, company_name) VALUES (1,'one company'),(2,'two company'),(3,'three company')
INSERT INTO @table4 (productID, productname) VALUES (24410,'a product')
DECLARE @Country varchar(100)='Netherlands'
SELECT t3.company_name,
CASE WHEN count(t4.ProductName) > 0 THEN t4.ProductName
ELSE 'NO PRODUCTS FOUND'
END AS Product_list
FROM @table2 t2
INNER JOIN @table3 t3
ON t2.accountid = t3.company_id
LEFT OUTER JOIN @table1 t1
ON t2.accountid = t1.accountid
LEFT OUTER JOIN @table4 t4
ON t1.productID = t4.productID
WHERE t2.country = @Country
GROUP BY t3.company_name, t4.productName

Similar Messages

  • Update multiple rows using CASE WHEN

    I have the table ACCOUNT of structure as follow: 
    ACCOUNT_ID
    ACCOUNT_STATUS
    004460721
    2
    042056291
    5
    601272065
    3
    I need to update the three rows at once using one SELECT statement such that, the second column will be 5, 3, 2 respectively.
    I used the following query but seems there is something missing
    UPDATE ACCOUNT
    SET ACCOUNT_STATUS = CASE  
    WHEN ACCOUNT_STATUS = '004460721' THEN 5 
    WHEN ACCOUNT_STATUS = '042056291' THEN 3 
    WHEN ACCOUNT_STATUS = '601272065' THEN 2 
    WHERE ACCOUNT_ID IN ('004460721','042056291','601272065') 
    My question, is this way correct? if no, can I use CASE WHEN statement and how or I only have choice of using SUB-SELECT to acheive that in one statement?

    Hi,
    Hawk333 wrote:
    I have the table ACCOUNT of structure as follow:
    ACCOUNT_ID
    ACCOUNT_STATUS
    004460721
    2
    042056291
    5
    601272065
    3
    I need to update the three rows at once using one SELECT statement such that, the second column will be 5, 3, 2 respectively.
    I used the following query but seems there is something missing
    UPDATE ACCOUNT
    SET ACCOUNT_STATUS = CASE  
    WHEN ACCOUNT_STATUS = '004460721' THEN 5 
    WHEN ACCOUNT_STATUS = '042056291' THEN 3 
    WHEN ACCOUNT_STATUS = '601272065' THEN 2 
    WHERE ACCOUNT_ID IN ('004460721','042056291','601272065') 
    My question, is this way correct? if no, can I use CASE WHEN statement and how or I only have choice of using SUB-SELECT to acheive that in one statement?
    What happens when you try it?
    Did you mean "WHEN ACCOUNT_ID = ..."?
    A CASE expressions always needs an END keyword.
    Depending on your requirements (that is, why are those rows being changed, and how do you determine the new values) a CASE expression in an UPDATE statement, similar to what you posted, could be a good way to do it.  MERGE (instead of UPDATE) would also be an option, especially if you want to avoid updating rows that already happen to have the correct values.

  • Custom database functoid to return multiple rows from database

    Hi,
    I have created a custom database fucntoid to execute a stored procedure which returns just single row from the database.But I could not manage to return multiple rows from the database.
    Does anyone know how to return multiple rows from DB and create a node with that many occurrences in the target schema?
    Thanks
    JB

    If you want to do this in messaging-only way without orchestration, then only option let to you is using .NET in BizTalk:
    We had similar requirement with one of our clients, where they didn’t want to use orchestration (though we emphasised on less impact orch would have compared to manageability),
    they still wanted to have pure-messaging only.
    We extended the custom XslTransform component that ships with BizTalk SDK (<BizTalk installation directory>\SDK\Samples\Pipelines\XslTransformComponent)).
    Created a custom disassembler pipeline component, used the XslTransform component from SDK to execute the map’s XSLT. Here we created a map with every links except the database ones. After executing the map, access the database, execute the store procedure
    which returns more than one row/dataset, enrich the XSLT transformed message with the dataset from your database in disassembler.
    Since .NET gives you the flexibility of access the dataset with more than one row, you can enrich the message in custom pipeline code.
    Other option is code the message transformation completely in .NET code in custom disassembler by passing the received message to method/code which would code the map/enrichment.
    While enriching you can execute the store procedure which returns more than one row/dataset, enrich the message further with the dataset from db.
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • How to check if "fetch" returns Multiple rows

    I want to know thru some variable (like %found) if the "fetch" returns multiple rows. How can I do it?
    My code:
    open      tab1_rec for
         'select fld1 '                ||
         'from     tab1 f '               ||
         'where     f.fld3 = :s1 and '     ||
         'f.fld4 = :s2 and '          ||
         'f.fld5 = 1 '
         using     fld3_in,
              fld4_in;
         fetch     tab1_rec into var1;
    -- If MULTIPLE
         if      tab1_rec%multiple
    Thanks

    If returning more than one row is unusual in some way (that is you are expecting only a single row) then you can do it like:
    BEGIN
       SELECT fld1 INTO var1
       FROM tab1 f
       WHERE f.fld3 = fld3_in and
             f.fld4 = fld4_in and
             f.fld5 = 1;
       < Do your processing here >
    EXCEPTION
       WHEN NO_DATA_FOUND THEN
          < handle no rows >
       WHEN TOO_MANY_ROWS THEN
          < handle multiple rows >
    END;No need for a cursor here. If you are expecting more than one row, and just want to know the count for information purposes, then you have to loop and fetch the records.
    HTH
    John

  • How to create a function that returns multiple rows in table

    Dear all,
    I want to create a funtion that returns multiple rows from the table (ex: gl_balances). I done following:
    -- Create type (successfull)
    Create or replace type tp_gl_balance as Object
    PERIOD_NAME VARCHAR2(15),
    CURRENCY_CODE VARCHAR2(15),
    PERIOD_TYPE VARCHAR2(15),
    PERIOD_YEAR NUMBER(15),
    BEGIN_BALANCE_DR NUMBER,
    BEGIN_BALANCE_CR NUMBER
    -- successfull
    create type tp_tbl_gl_balance as table of tp_gl_balance;
    but i create a function for return some rows from gl_balances, i can't compile it
    create or replace function f_gl_balance(p_period varchar2) return tp_tbl_gl_balance pipelined
    as
    begin
    return
    (select gb.period_name, gb.currency_code, gb.period_type, gb.period_year, gb.begin_balance_dr, gb.begin_balance_cr
    from gl_balances gb
    where gb.period_name = p_period);
    end;
    I also try
    create or replace function f_gl_balance(p_period varchar2) return tp_tbl_gl_balance pipelined
    as
    begin
    select gb.period_name, gb.currency_code, gb.period_type, gb.period_year, gb.begin_balance_dr, gb.begin_balance_cr
    from gl_balances gb
    where gb.period_name = p_period;
    return;
    end;
    Please help me solve this function.
    thanks and best reguard

    hi,
    Use TABLE FUNCTIONS,
    [http://www.oracle-base.com/articles/9i/PipelinedTableFunctions9i.php]
    Regards,
    Danish

  • How to delete multiple rows from ADF table

    How to delete multiple rows from ADF table

    Hi,
    best practices when deleting multiple rows is to do this on the business service, not the view layer for performance reasons. When you selected the rows to delete and press submit, then in a managed bean you access thetable instance (put a reference to a managed bean from the table "binding" property") and call getSeletedRowKeys. In JDeveloper 11g, ADF Faces returns the RowKeySet as a Set of List, where each list conatins the server side row key (e.g. oracle.jbo.Key) if you use ADF BC. Then you create a List (ArrayList) with this keys in it and call a method exposed on the business service (through a method activity in ADF) and pass the list as an argument. On the server side you then access the View Object that holds the data and find the row to delte by the keys in the list
    Example 134 here: http://blogs.oracle.com/smuenchadf/examples/#134 provides you with the code
    Frank

  • TimesTen SQL with group by returning multiple rows

    I have a Active-Standby TimesTen nodes.
    Using group by with or without having clause:
    Whenever I do a group by query on table1 table with or without having clause, SQL returns multiple rows. This looks very strange to me. Each time it gives different count
    Command> select count(*) from table1 group by pname having pname='pool';
    < 390400 >
    1 row found.
    Command> select count(*) from table1 group by pname having pname='pool';
    < 390608 >
    < 32639 >
    2 rows found.
    Command> select count(*) from table1 group by pname having pname='pool';
    < 2394 >
    < 351057 >
    2 rows found.
    Command> select count(*) from table1 group by pname having pname='pool';
    < 305732 >
    1 row found.
    Command> select count(*) from table1 group by pname having pname='pool';
    < 420783 >
    1 row found.
    Command> select count(*),pool_name from root.rms_address_pools group by pool_name order by pool_name;
    < *435473, pool* >
    < *32313, pool* >
    < 453, smvG3 >
    < *28980, pool* >
    < 3786, smvG4 >
    < *26025, pool* >
    < 236120, smvG6 >
    < 131455, smcG3 >
    < *65150, pool* >
    < 23, snt1G1 >
    < 510, snt2G1 >
    < 510, snt2G2 >
    Using where clause:
    Command> select count(*) from table1 where pname='pool';
    < *442354* >
    1 row found.
    Command> select count(*) from table1 where pname='pool';
    < 442354 >
    1 row found.
    Table description:
    Command> desc table1;
    Table table1:
    Columns:
    *IP_ADDRESS                      BIGINT NOT NULL
    PNAME CHAR (32) NOT NULL
    SITEID TINYINT NOT NULL
    1 table found.
    ttVersion:
    bash-3.00# ./ttVersion
    TimesTen Release *7.0.3.1.0 (64 bit Solaris)* (tt70:17001) 2007-10-30T22:17:07Z
    Instance admin: root
    Instance home directory: /TimesTen/tt70
    Daemon home directory: /var/TimesTen/tt70
    bash-3.00#
    Could any one suggest what is wrong with my SQL? or is it a bug with TimesTen?
    Many thanks in advance.
    Br,
    Brij

    Hi Gena,
    When i execute the query with where clause, it gives me the output with more than one pool:
    Command> select pname, count (*) from table1 where pname='pool' group by pname ;
    < smcG3 , 18836 >
    < pool , 423527 >
    2 rows found.
    Command> select pname, count (*) from table1 where pname='pool' group by pname ;
    < intG302 , 17202 >
    < pool , 425159 >
    2 rows found.
    While if give use the having clause it gives me multiple rows for one pool only ( sometimes) :
    select pname, count (*) from table1 group by pname having pname='pool';
    < pool , 32686 >
    < pool , 420445 >
    2 rows found.
    select pname, count (*) from table1 group by pname having pname='pool';
    < pool , 393574 >
    < pool , 5838 >
    < pool , 110943 >
    3 rows found.
    Command> select pname, count (*) from table1 group by pname having pname='pool';
    < pool , 414590 >
    < pool , 8395 >
    2 rows found.
    Please suggest what can be done in this case, need i open a case with Oracle for this.
    Regards, Brij

  • The simplest way for plsql procedure to return multiple rows

    Hi,
    What is the simplest way for plsql procedure to return multiple rows (records). There are many combination of ways to do it but I am looking for a solution that is appropriate for plsql beginners. Many solutions use cursors, cursor variables, collections and more that kind of things that are complex on the face of it. Is it somehow possible to achieve the same with less effort?
    Sample query would be: SELECT * FROM EMPLOYEES;
    I want to use returned rows in APEX to compose APEX SQL(in that context plsql) report.
    It is enough to use just SELECT * FROM EMPLOYEES query in APEX but I want to use plsql procedure for that.
    Thank you!

    Hi,
    It depends :-).
    With +...that is appropriate for plsql beginners...+ in mind... it still depends!
    The list of techniques (ref cursors, cursor variables, collections, arrays, using explict SQL) you have referenced in your post can be made to work. but...
    +Is it somehow possible to achieve the same with less effort?+ Less effort : That needs to be defined (measured). Especially in the context of pl/sql beginners (who is a beginner?) .
    What is the level of "programming experience" ?
    What is the level of understanding of "Relational Result set" as processible in Oracle?
    If you are looking for
    Process_the_set_of rows_in APEX () kind of capabilitywhich "abstracts/hides" relation database from developers when working on relation database, it may not be the best approach (at least strategically). Because I believe it already is abstracted enough.
    I find REF CUROSOR most effective for such use, when the "begginer" has basic understanding of processing SQL result set .
    So in a nut shell, the techniques (that you already are familiar with) are the tools available. I am not aware of any alternative tools (in pure Oracle) that will simplify / hide basics from develpers.
    vr,
    Sudhakar B.

  • [UIX] How To: Return multiple values from a LOV

    Hi gang
    I've been receiving a number of queries via email on how to return multiple items from a LOV using UIX thanks to earlier posts of mine on OTN. I'm unfortunately aware my previous posts on this are not that clear thanks to the nature of the forums Q&A type approach. So I thought I'd write one clear post, and then direct any queries to it from now on to save me time.
    Following is my solution to this problem. Please note it's just one method of many in skinning a cat. It's my understanding via chatting to Oracle employees that LOVs are to be changed in a future release of JDeveloper to be more like Oracle Forms LOVs, so my skinning skills may be rather bloody & crude very soon (already?).
    I'll base my example on the hr schema supplied with the standard RDBMS install.
    Say we have an UIX input-form screen to modify an employees record. The employees record has a department_id field and a fk to the departments table. Our requirement is to build a LOV for the department_id field such that we can link the employees record to any department_id in the database. In turn we want the department_name shown on the employees input form, so this must be returned via the LOV too.
    To meet this requirement follow these steps:
    1) In your ADF BC model project, create 2 EOs for employees and departments.
    2) Also in your model, create 2 VOs for the same EOs.
    3) Open your employees VO and create a new attribute DepartmentName. Check “selected in query”. In expressions type “(SELECT dept.department_name FROM departments dept WHERE dept.department_id = employees.department_id)”. Check Updateable “always”.
    4) Create a new empty UIX page in your ViewController project called editEmployees.uix.
    5) From the data control palette, drag and drop EmployeesView1 as an input-form. Notice that the new field DepartmentName is also included in the input-form.
    6) As the DepartmentName will be populated either from querying existing employees records, or via the LOV, disable the field as the user should not have the ability to edit it.
    7) Select the DepartmentId field and delete it. In the UI Model window delete the DepartmentId binding.
    8) From the data controls palette, drag and drop the DepartmentId field as a messageLovInput onto your page. Note in your application navigator a new UIX page lovWindow0.uix (or similar) has been created for you.
    9) While the lovWindow0.uix is still in italics (before you save it), rename the file to departmentsLov.uix.
    10) Back in your editEmployees.uix page, your messageLovInput source will look like the following:
    <messageLovInput
        model="${bindings.DepartmentId}"
        id="${bindings.DepartmentId.path}"
        destination="lovWindow0.uix"/>Change it to be:
    <messageLovInput
        model="${bindings.DepartmentId}"
        id="DepartmentId"
        destination="departmentsLov.uix"
        partialRenderMode="multiple"
        partialTargets="_uixState DepartmentName"/>11) Also change your DepartmentName source to look like the following:
    <messageTextInput
        id=”DepartmentName”
        model="${bindings.DepartmentName}"
        columns="10"
        disabled="true"/>12) Open your departmentsLov.uix page.
    13) In the data control palette, drag and drop the DepartmentId field of the DepartmentView1 as a LovTable into the Results area on your page.
    14) Notice in the UI Model window that the 3 binding controls have been created for you, an iterator, a range and a binding for DepartmentId.
    15) Right click on the DepartmentsLovUIModel node in the UI Model window, then create binding, display, and finally attribute. The attribute binding editor will pop up. In the select-an-iterator drop down select the DepartmentsView1Iterator. Now select DepartmentName in the attribute list and then the ok button.
    16) Note in the UI Model you now have a new binding called DCDefaultControl. Select this, and in the property palette change the Id to DepartmentName.
    17) View the LOV page’s source, and change the lovUpdate event as follows:
    <event name="lovSelect">
        <compound>
            <set value="${bindings.DepartmentId.inputValue}" target="${sessionScope}" property="MyAppDepartmentId" />
            <set value="${bindings.DepartmentName.inputValue}" target="${sessionScope}" property="MyAppDepartmentName" />
        </compound>
    </event>18) Return to editEmployees.uix source, and modify the lovUpdate event to look as follows:
    <event name="lovUpdate">
        <compound>
            <set value="${sessionScope.MyAppDepartmentId}" target="${bindings.DepartmentId}" property="inputValue"/>
            <set value="${sessionScope.MyAppDepartmentName}" target="${bindings.DepartmentName}" property="inputValue"/>     
        </compound>
    </event>That’s it. Now when you select a value in your LOV, it will return 2 (multiple!) values.
    A couple things to note:
    1) In the messageLovInput id field we don’t use the “.path” notation. This is mechanism for returning 1 value from the LOV and is useless for us.
    2) Again in the messageLovInput we supply “_uixState” as an entry in the partialTargets.
    3) We are relying on partial-page-refresh functionality to update multiple items on the screen.
    I’m not going to take the time out to explain these 3 points, but it’s worthwhile you learning more about them, especially the last 2, as a separate exercise.
    One other useful thing to do is, in your messageLovInput, include as a last entry in the partialTargets list “MessageBox”. In turn locate the messageBox control on your page (if any), and supply an id=”MessageBox”. This will allow the LOV to place any errors raised in the MessageBox and show them to the user.
    I hope this works for you :)
    Cheers,
    CM.

    Thanks Chris,
    It took me some time to find the information I needed, how to use return multiple values from a LOV popup window, then I found your post and all problems were solved. Its working perfectly, well, almost perfectly.
    Im always fighting with ADF-UIX, it never does the thing that I expect it to do, I guess its because I have a hard time letting go of the total control you have as a developer and let the framework take care of a few things.
    Anyway, I'm using your example to fill 5 fields at once, one of the fields being a messageChoice (a list with countries) with a LOV to a lookup table (id , country).
    I return the countryId from the popup LOV window, that works great, but it doesn't set the correct value in my messageChoice . I think its because its using the CountryId for the listbox index.
    So how can I select the correct value inside my messageChoice? Come to think of it, I dont realy think its LOV related...
    Can someone help me out out here?
    Kind regards
    Ido

  • Pl/sql block returning multiple rows

    Hi,
    I've created a plsql block which obtains an id from a name and then uses this id in another sql statement. The select statement to get the id works fine and the correct id is placed into the variable awardID.
    when i try to use this variable in another select statement it returns multiple rows. but when i just use the id in the select statement it works fine.
    select AwardID into awardID
    from award_objtabA
    where Name = awardName;
    this returns the correct id '5999'
    select Points into award_points
    from award_objtabA
    where AwardID = awardID;
    this returns multiple rows
    select Points into award_points
    from award_objtabA
    where AwardID = 5999;
    this works fine
    can anybody help with this confusing error?
    Cheers

    select AwardID
      into awardID               <= the same column
      from award_objtabA
    where Name = awardName;
    this returns the correct id '5999'
    select Points
      into award_points
      from award_objtabA
    where AwardID = awardID;    <= the same column
    this returns multiple rows
    to solve use different name not exactly the same as that of the column name
    select AwardID
      into vAwardID        
      from award_objtabA
    where Name = awardName;
    select Points
      into award_points
      from award_objtabA
    where AwardID = vAwardID;as Alex and Kamal have suggested use different name for your variable.

  • How to update multiple rows in ADF Tble

    Hi,
    I have created a search form and ADF table. This ADF table is having column of Select Boolean check box along with actual table columns.
    When I click on Search button it should show the result in ADF table. I will be able to select the check box in multiple rows.
    Finally when I click on Submit button status column should be updated against the rows for which Boolean check box is selected.
    Here the thing that I would like to know is how to identify the rows whichever are selected when I click on Submit button.
    Could you please help.
    Regards
    Vinod.

    http://sameh-nassar.blogspot.de/2009/12/use-checkbox-for-selecting-multiple.html shows how to use a checkbox via a transient attribute on the EO. To get the selected row you check the transient attribute of each row.
    Timo

  • Problem with database control returning multiple rows as Array  using Oracle

    Has anybody using Oracle gotten a Database control that
    returns multiple rows to work returning an array?
    The only way I can seem to return multiple rows is by returning
    a RowSet. Returning an array gives me a NullPointerException
    (when called within a pageFlow). When calling a database control
    that returns an array from a web service I get a
    "java.sql.SQLException: ResultSet has no more data." error.
    The samples using the pointbase database seem to work, but when I
    converted the CustomerDBClient web service to use Oracle, it starts
    failing on calling the database control that returns an array
    with: "java.sql.SQLException: ResultSet has no more data."
    Has anybody gotten this to work using Oracle?
    I'm also having some problem returning an Iterator. It seems
    to work when called from a web service, but returns nothing
    if called from a page flow.
    I'm using Oracle 8.1.7 and WebLogic 8.1.
    Eric

    Do you need a particular service pack installed to return an array of custom object?
    I am getting a ResultSet contained no data error when trying.
    Thanks,
    -Thomas
    "Robin Karlin" <[email protected]> wrote:
    >
    Eddie O'Neil <[email protected]> wrote:
    All--
    Unfortunately, returning an Iterator to a JPF (or JSP) from a
    database control is broken in WLW 8.1, though it will work inside of
    a
    JWS or JCS.
    There shouldn't be a problem with returning an array of objects out
    of Oracle to the JPF, and if you need an Iterator specifically, youcan
    wrap the array in an Iterator implementation.
    Sorry for the inconvenience.
    Eddie
    Lenny wrote:
    I have gotten it to work on Oracle using Array:)
    However, I haven't gotten it to work on Oracle using Iterator:( Itis so
    simple, but doesn't work:(
    "Eric Dokken" <[email protected]> wrote in message
    news:[email protected]...
    Has anybody using Oracle gotten a Database control that
    returns multiple rows to work returning an array?
    The only way I can seem to return multiple rows is by returning
    a RowSet. Returning an array gives me a NullPointerException
    (when called within a pageFlow). When calling a database control
    that returns an array from a web service I get a
    "java.sql.SQLException: ResultSet has no more data." error.
    The samples using the pointbase database seem to work, but when I
    converted the CustomerDBClient web service to use Oracle, it starts
    failing on calling the database control that returns an array
    with: "java.sql.SQLException: ResultSet has no more data."
    Has anybody gotten this to work using Oracle?
    I'm also having some problem returning an Iterator. It seems
    to work when called from a web service, but returns nothing
    if called from a page flow.
    I'm using Oracle 8.1.7 and WebLogic 8.1.
    Eric
    I get the same error that Eric reported when trying to return an Array
    of objects.
    It is really frustrating because I can't use much of the built-in control
    logic
    that WLW provides. All I did was create a data pool for Oracle and a
    datasource.
    I modified the sample app in C:\bea81\weblogic81\samples\workshop\SamplesApp\WebApp\callJavaControl
    to point to that datasource and I get the error that Eric reports above.
    Can
    anyone help me out????
    Thanks,
    Robin

  • Procedure from PowerBuilder returning multiple rows

    In want to call a procedure from PowerBuilder which return multiple rows. I would like to know how to write the procedure and also how to call it. I tried using REFCURSOR , but i heard that Powerbuilder doesnot support REFCURSOR . Please help
    Thanks in advance

    This is not a PL/SQL qustion, but a Powerbuilder question.
    Just what SQL constructs does Powerbuilder supports? And if there is no support for ref cursors, then the choice of using a client language that lacks basic core SQL support is questionable.

  • Print Child SQL which is returning multiple rows to single colum.

    I have a requirement to print both Parent and Child SQLs rows to single row.
    For Ex:
    Parent row is returning single row
    Id, Name, Primary Rate.
    101, LName,FName ,30
    Child row is returning multiple rows
    Id, Name, Secondary Rate
    101, LName,FName,15
    101, LName,FName,10
    The end result should be
    101,LName,FName,30,15,10
    Any suggestions please?

    Below is the XML TAG
    <LIST_EMPLOYEERATE>
    <EMPLOYEERATE>
    <EMPNUMBER>112</EMPNUMBER>
    <EMPNAME>Aaron</EMPNAME>
    <PAYRATE>38.09</PAYRATE>
    <JOBNAME>Technician</JOBNAME>
    <EMPTYPE>Salary</EMPTYPE>
    <LIST_ADDRATE>
    <ADDRATE>
    <ADDPAYRATE>26</ADDPAYRATE>
    </ADDRATE>
    <ADDRATE>
    <ADDPAYRATE>7.9</ADDPAYRATE>
    </ADDRATE>
    </LIST_ADDRATE>
    </EMPLOYEERATE>
    </LIST_EMPLOYEERATE>
    The Result should be (assume this is going onto excel spread sheet)
    EmpNum EmpName Rate EmpType Rate1 Rate2
    112 Aaron 38.09 Salary 26 7.9
    Using @inline we are able to get 26 and 7.9 on the same line, but how to push 7.9 to next column?
    Thanks!

  • PL-SQL Returning multiple rows

    hi all
    i am using an oracle 8i database.My front end application is a JSP code which calls an oracle procedure.How do i pass a pl-sql table or an equivalent to a jave code since the procedure has to return multiple rows.i have been told that the jdbc driver version
    (1.0) which we are using does not support this.
    should i go about it differently and use temporary tables?..please help
    thanks
    LA

    hi all
    i am using an oracle 8i database.My front end application is a JSP code which calls an oracle procedure.How do i pass a pl-sql table or an equivalent to a jave code since the procedure has to return multiple rows.i have been told that the jdbc driver version
    (1.0) which we are using does not support this.
    should i go about it differently and use temporary tables?..please help
    thanks
    LA

Maybe you are looking for

  • ITunes will not open from desktop icon or from start menu.

    I have windows xp 32 bit.  I can browse with safari and open qt with no issues.  ITunes no longer opens. I have the 10.5 version and have not had any problems prior to today. Any help would be greatly apreciated. 

  • Can't delete or save contacts

    I'm on a 17" mid 2010 MacBook Pro running OS X 10.9.3. When I open contacts and try to add a new contact then click done or save it doesn't save after closing. My entry will only exist until closing, when I open up contacts again it's gone. Also I ca

  • Upgrade check: command-shift-double-click has no effect

    We're installing Adobe Creative Suite 2 Design Premium. We have what should be a valid serial number for a copy of Adobe Creative Suite 2 Premium. However, the installer terms it invalid. Someone else in my company just spend a long time with custome

  • Photoshop elements 13 will not launch after licensing agreement

    I have successfully installed Elements 13. I try to launch program in photo editor and the password screen comes up. I successfully enter password and get the licensing agreement. I click agree and the screen closes and nothing happens.  how do I get

  • 100% cpu AE7 using Magic Bullet Look Suite 2.0

    Hi My pc is over 2Ghz and has 2 gigs of Ram and a high speed hard drive. My video is onboard but usually does very well with video rendering. The only problem I seem to have is with Look Suite 2.0. I dont bother trying out the latest because it doesn