SELECT :Selecting multiple values through a single query

I have to select 2 distinct column values into variables in one query.Something like
SELECT TSTAMP into varConcurrencyTstamp,VoucherTbId INTO cnt
FROM VOUCHERTB
WHERE
VOUCHERTBID =FnDeleteVOUCHERTB.VOUCHERTBID;//Not working
This task can be done by 2 separate queries as follows
SELECT COUNT(*) INTO cnt
FROM VOUCHERTB
WHERE
VOUCHERTBID =FnDeleteVOUCHERTB.VOUCHERTBID;
SELECT TSTAMP
INTO varConcurrencyTstamp
FROM VOUCHERTB
WHERE VOUCHERTBID = FnDeleteVOUCHERTB.VOUCHERTBID;
.Is there a way to do it in one shot something similar to the query first given...

SELECT TSTAMP, count(*) into time_Stamp, cnt_val
FROM VOUCHERTB
WHERE VOUCHERTBID = FnDeleteVOUCHERTB.VOUCHERTBID
group by TSTAMP
/

Similar Messages

  • Any way to pass Multiple Values for a single Label in the Parameter?

    I have a Report that Contains 2 Parameters, @Customer & @Area. When trying to set up the Available Values for @Area, I'm having issues using multiple values for one Label, i.e. = "4006" Or "4610"
    One of the Filters in the Report is an Operation number, which is the [OPERATION] field, which is setup as a filter on the Tablix referencing the @Area parameter. 
    PROBLEM: I cannot retrieve any data when trying to use the ‘Or’ Operator here. If I simply put “4006” or “4610” I retrieve data, but when trying to combine it returns no data.
    Example, I need to allow a user to select ‘Chassis Incoming’, which would include data from Operations 4006 & 4610.
    QUESTION:
    Any way to pass Multiple Values for a single Label in the Parameter?
    I realize the typical solution may be to use ‘Multi-Value’ selection, but in this case we want the User to select the Area and the multiple values for Filtering will be automatically determined for them. Otherwise, they are subject to not getting
    it correct.
    I have tried several different ways, such as =”4006” Or “4610”, =(“4006”, “4610”), = In(“4006”, “4610”), etc….
    Note: We are using Report Builder 3.0

    Based on my experience, there's no way to 'intercept' the query that gets passed back to SQL Server, so a Split wouldn't work.
    Try creating either a function or stored procedure using the code below (compliments to
    http://www.dotnetspider.com/resources/4680-Parse-comma-separated-string-SQL.aspx) to parse the string: 
    CREATE FUNCTION dbo.Parse(@Array VARCHAR(1000), @Separator VARCHAR(10))
    RETURNS @ResultTable TABLE (ParseValue VARCHAR(100))AS
    BEGIN
    DECLARE @SeparatorPosition INT
    DECLARE @ArrayValue VARCHAR(1000)
    SET @Array = @Array + @Separator
    WHILE PATINDEX('%' + @Separator + '%' , @Array) <> 0
    BEGIN
    SELECT @SeparatorPosition = PATINDEX('%' + @Separator + '%', @Array)
    SELECT @ArrayValue = LEFT(@Array, @SeparatorPosition - 1)
    INSERT @ResultTable VALUES (CAST(@ArrayValue AS VARCHAR))
    SELECT @Array = STUFF(@Array, 1, @SeparatorPosition, '')
    END
    RETURN
    END
    Once created you can do things like this:
    SELECT * FROM Parse('John,Bill,David,Thomas', ',')
    SELECT * FROM (SELECT 'John' AS TestName union select 'David' AS TestName) AS Main
    WHERE TestName IN (SELECT ParseValue FROM dbo.Parse('John,Bill,David,Thomas', ','))
    This is what your SQL query would probably look like:
    SELECT OperationID, OperationName FROM dbo.Operations
    WHERE AreaID IN (SELECT ParseValue FROM dbo.Parse(@Area, ','))
    You may need to fiddle around with the Separator depending on whether SQL Server inserts a space between the comma and next value.

  • Passing multiple values to a single input parameter

    Hi folks,
    I have a Microstrategy query successfully passing input parameter to a calculation view.  For example I can pass a movement type to a material movements calculation view input parameter.  However if I try to pick more than one movement type the query then fails; 
    Generated SQL that works looks like this;
    select
    sum(a11.TOTALQUANTITY)  WJXBFS1
    from
    "_SYS_BIC"."MyPackage/CA_TEST_PASS_PARAMETER"
    ('PLACEHOLDER' = ('$$MoveType$$', '101')
    a11
    When choosing more than one value in Microstrategy the SQL now fails and looks like this;
    select
    sum(a11.TOTALQUANTITY)  WJXBFS1
    from
    "_SYS_BIC"."MyPackage/CA_TEST_PASS_PARAMETER"
    ('PLACEHOLDER' = ('$$MoveType$$', '101'),
    'PLACEHOLDER' = ('$$MoveType$$', '103'))
    a11
    If I cut and paste the SQL and run directly in HANA studio the error is;
    Could not execute 'select sum(a11.TOTALQUANTITY) WJXBFS1 from "_SYS_BIC"."MyPackage/CA_TEST_PASS_PARAMETER" ...' in 66 ms 361 µs .
    SAP DBTech JDBC: [2048]: column store error: search parameter error:  [2018] A received argument has an invalid value;TABLE/VIEW parameter: ( 'PLACEHOLDER'='$$MoveType$$, 103') not supported
    Is it possible to pass multiple values in a single parameter?  I'm using SP67 for this test.
    Thanks,
    -Patrick

    Ravi, also to answer one of your questions about how this will work in Microstrategy; I just heard back from my Microstrategy developer and he is trying MSTR Freeform SQL query with syntax like this;
    select (sumPAR_TEST.TOTALQUANTITY TOTALQUANTITY
    from "_SYS_BIC"."MyPackage/CA_TEST_PASS_PARAMETER"
    ('PLACEHOLDER' =('$$MoveType$$', '[Movement Type]')) PAR_TEST
    In this example [Movement Type] is the microstrategy prompt.  Unfortunately though it translates like this which is missing extra single quotes around each value;
    select     sum(PAR_TEST.TOTALQUANTITY)  TOTALQUANTITY
    from     "_SYS_BIC"."development.pr1959/CA_TEST_PASS_PARAMETER"
    ('PLACEHOLDER' = ('$$MoveType$$', ''101', '102''))   PAR_TEST
    instead of what we need which is;
    ('PLACEHOLDER' = ('$$MoveType$$', '''101'', ''102'''))   PAR_TEST
    So at this point we are not sure if this will be possible or not.
    -Patrick

  • Passing multiple values to a BI query

    Hi experts,
    This question has probably been asked a few times, but I have an issue with passing multiple values to a BI query.  Here's the scenario....
    1)  I have created a BI query.  When I test the query in VC I can enter values 1000:1100 in the Infoobject Business Area and I see that the values are passed through OK
    2)  Then I created a form where Business Area is an Input Field
    3)  I linked the form to the BI query and assigned value @Business_area
    3)  A table is linked to the BI query to view my result ( I have set a distinct before my table to view the data by fiscal year period)
    4) When running the VC model, the table show values for 1000 and 1100, but when I enter 1000:1100 and Submit it does not show both the business areas
    There must be something I am missing and I thought it was that in my submit string (between the input form and the BI query) that I should fill in some values (instad of @Business_area). I tried to fill in 1000:1100, but then I get an error saying Invalid time 1000:1100.
    I would really appreciate any help on this issue :-).
    Regards,
    Thomas

    Hi Thomas,
    I wish to enter default values for dates onto the VC form. Ie I have a VC report to display a customer's shipped data. Ship date is a selection field/ input field on the form for the report/ output table.
    At present if a user clicks submit they get all their shipped records from the beginning of time till today. How can I restrict the dates at VC level to past  3months? So if the users don't specify a ship date, they get the past 3 months data, and afterwards they can change it an retrieve all the data or past 2 years as they wish.
    Thanks,
    Jasmine

  • How to calculate the individual sums of multiple columns in a single query

    Hello,
    Using Oracle 11gR2 on windows 7 client. I have a question on calculating sum() on multiple columns on different columns and store the results in a view. Unfortunately I could not post the problem here as it keeps on giving error "Sorry, this content is not allowed", without telling where or what it is! So I had to post it in the stack-overflow forum, here is the link: http://stackoverflow.com/questions/16529721/how-to-calculate-the-individual-sums-of-multiple-columns-in-a-single-query-ora
    Will appreciate any help or suggestion.
    Thanks

    user13667036 wrote:
    Hello,
    Using Oracle 11gR2 on windows 7 client. I have a question on calculating sum() on multiple columns on different columns and store the results in a view. Unfortunately I could not post the problem here as it keeps on giving error "Sorry, this content is not allowed", without telling where or what it is! So I had to post it in the stack-overflow forum, here is the link: http://stackoverflow.com/questions/16529721/how-to-calculate-the-individual-sums-of-multiple-columns-in-a-single-query-ora
    Will appreciate any help or suggestion.
    ThanksLooks like you want a simple group by.
    select
              yr
         ,      mnth
         ,      region
         ,     sum(handled_package)
         ,     sum(expected_missing_package)
         ,     sum(actual_missing_package)
    from test
    group by
         yr, mnth, region
    order by      
         yr, mnth, region;I wouldn't recommend storing your data for year / month in 2 columns like that unless you have a really good reason. I would store it as a date column and add a check constraint to ensure that the date is always the first of the month, then format it out as you wish to the client.
    CREATE TABLE test
         year_month                              date,
        Region                     VARCHAR2(50),
        CITY                       VARCHAR2(50),             
        Handled_Package            NUMBER,       
        Expected_Missing_Package   NUMBER,   
        Actual_Missing_Package     NUMBER
    alter table test add constraint firs_of_month check (year_month = trunc(year_month, 'mm'));
    ME_XE?Insert into TEST (year_month, REGION, CITY, HANDLED_PACKAGE, EXPECTED_MISSING_PACKAGE, ACTUAL_MISSING_PACKAGE)
      2  Values (to_date('2012-nov-12', 'yyyy-mon-dd'), 'Western', 'San Fransisco', 200, 10, 5);
    Insert into TEST (year_month, REGION, CITY, HANDLED_PACKAGE, EXPECTED_MISSING_PACKAGE, ACTUAL_MISSING_PACKAGE)
    ERROR at line 1:
    ORA-02290: check constraint (TUBBY.FIRS_OF_MONTH) violated
    Elapsed: 00:00:00.03
    ME_XE?Insert into TEST (year_month, REGION, CITY, HANDLED_PACKAGE, EXPECTED_MISSING_PACKAGE, ACTUAL_MISSING_PACKAGE)
      2  Values (to_date('2012-nov-01', 'yyyy-mon-dd'), 'Western', 'San Fransisco', 200, 10, 5);
    1 row created.
    Elapsed: 00:00:00.01
    ME_XE?select
      2        to_char(year_month, 'fmYYYY')    as year
      3     ,  to_char(year_month, 'fmMonth')   as month
      4     ,  Region
      5     ,  CITY
      6     ,  Handled_Package
      7     ,  Expected_Missing_Package
      8     ,  Actual_Missing_Package
      9  from test;
    YEAR         MONTH                REGION                         CITY                    HANDLED_PACKAGE EXPECTED_MISSING_PACKAGE ACTUAL_MISSING_PACKAGE
    2012         November             Western                        San Fransisco                       200                       10                      5
    1 row selected.
    Elapsed: 00:00:00.01
    ME_XE?Then you have nice a nice and easy validation that ensures you data integrity.
    Cheers,

  • How to insert multiple records in a single query

    Dear all,
    Can you please tell
    how to insert multiple records in a single query ??

    INSERT INTO table_name (column_1, column_2) VALUES ('value_A', 'value_B')OR
    INSERT INTO table_name
    (column_1, column_2)
    SELECT 'value_A', 'value_B' FROM DUAL
    UNION ALL
    SELECT 'value_C', 'value_D' FROM DUAL
    ;Edited by: Benton on Nov 9, 2010 1:59 PM

  • Multiple databases in a single query

    I need to query multiple databases in a single query.
    e.g.
    Database d1 contains table t1 with column id
    Database d2 contains table t2 with column id
    I need a query like
    SELECT * FROM t1, t2 WHERE t1.id = t2.id;
    is this possible in jdbc? if yes can anyone help with some sample code?
    thanks,
    Ashish Saraf

    It is not possible using the JDBC API to query tables in two or more databases using a single query. The reason is that a JDBC Connection is made to a single data source.
    However, some databases support the idea of federations or linked tables. What you do is inside the database manager link or federate a table that is present in another DBMS. Then, pose a single JDBC query to the one DBMS which will have its own table and links to the external tables.
    Another approach is to use a special JDBC driver with a built-in integration engine that will perform a query across multiple databases. In effect, the system poses separate queries to the different databases and integrates and joins the data together for you automatically on the client-side. That is much easier than doing it yourself in code, but that is also possible for simple queries.
    As part of my research program, we have released a shareware version of the UnityJDBC driver that can query multiple databases using a single SQL query. For more information, see:
    http://www.unityjdbc.com
    http://www.cs.uiowa.edu/~rlawrenc/research/projects.html
    Sincerely,
    Dr. Ramon Lawrence
    Assistant Professor
    Department of Computer Science
    University of Iowa
    [email protected]

  • How to allow multiple values in a single blank cell in WebI report

    Hi
             I am working in BO XIR2. I have a scenario as follows.
    In a single cell (blank cell from template) i need to display multiple contact persons. When I drag the contact person name into the blank cell, I am getting an error: MULTIVALUE). Please let me know how to use a function so that I can show two or three contact person names in a single blank cell.
    I tried to use Replace and Char function as follows to bring Carriage Return functionality to the cell.
    Replace([Contact Person]; ";" ; Char(13)) but this did not work.
    Thanks in Advance.

    BOUser11:
    I know this thread has been answered. I recently came across a scenario where I happen to populate multiple values in a single blank cell(from templates). But the only catch being that if user enters multiple values for a prompt you can show them in a single cell eg: =UserResponse("Enter value(s) for Branch:"). would be the formula for the blank cell. Afetr the user selects three values say A, B,C, webi puts it in the format of A;B;C. in a single cell.
    In your case try giving that as a prompt to the user or answer that multi prompt some how and when u use the above formula it should suffice your requirement.
    Let me know if you have tried.
    Thanks,
    karthik

  • Multiple values in a single cell in report !!

    Hello,
    I want to display multiple values in a single cell, each value separated by comma.
    Ex: I have Employee and Department.
    If a employee works for many departments, all the Department names should be displayed in the same cell in the report.
    Please help !

    Thanks for your replies !
    Is there any other way to achieve this ?
    There is 1 InfoObject which has 2 fields Employee and Department.
    Employee     Department
    001                A
    001                B
    001                C
    In the report there should be 1 row for Employee 001 with all the Departments displayed in the same cell separated by commas.
    Can this be done in the backend through a ABAP code?

  • Passing multiple values for a single field in URL to call sap Transaction

    Hi All,
    I need to pass multiple values for a single field to SAP transaction .
    means if i have say a field "Date" which can contain more than one value, <b>but its not a range which has two fields</b> . How is it possible.
    Let me know pls.
    Regards,
    Sirisha.R.S.

    Hi Satyajit,
    I need to call a transaction with multiple values which gives me the report based on those values.
    So I need to pass multiple values for a single parameter.
    I hope u got it.
    Regards,
    Sirisha.R.S.

  • How to pass multiple values to a single parameter in BW report URL

    Hi Experts,
    I am new to EP and learning .... i am stuck at one point where we need to pass multiple parameters to a BW report URL, this is the URL that we launch from BSP.... Suppose i have to pass different multiple values to a single parameter, how to do it....
    i m getting many answers to pass parameters to iviews, reports, but not specific to my case.. can u plz help me....
    Thanks in advance
    Priya Rai

    What is the prolem you are facing if you split the single date param as two parameters say startdate and enddate?
    If you pass as single string then you might have to split the same at reciever end.
    Are you trying any thing specific?

  • Select List multiple values

    All,
    I am in urgent need of this requirement referencing/copying all selected multiple values in select List and putting them into text item/text-area separated by ","/comma delimiter.....any help
    appreciated.
    example:
    select list
    =======
    aaaa
    bbbb (selected)
    cccc
    dddd(selected)
    ffffff
    copied is:
    bbbb, dddd

    No worries, I've found a way.
    You need to create a pl-sql function that generates the necessary HTML code that will render the select list using the selected="selected" attribute when the option value is selected.
    This is an example of the expected HTML code for a multiple selection list:
    <select name="favoritefood" id="favoritefood" multiple=true; size=4;>
    <option value=1>Cheese</option>
    <option value=2 selected="selected">Egg</option>
    <option value=3>Cabbage</option>
    <option value=4 selected="selected">Ham</option>
    </select>
    I created this function in order to find the matches within the saved code and the option value. And then include the selected="selected" string in the returned HTML code.
    Finally, I'm using this function in the SQL query that generates a tabular report and I changed the column Display Attribute to "Standard Report Column". Then the report instead of showing the HTML code, will render it to a HTML item.
    Regards
    Edited by: user9982480 on Jul 30, 2012 8:32 AM
    Edited by: user9982480 on Jul 30, 2012 8:33 AM
    Edited by: user9982480 on Jul 30, 2012 8:34 AM

  • Select from multiple tables through dblink

    I am seeking help. Can I select multiple tables through a dblink from a remote database? I tried, it seems it always return ORA-00933 error. code like this:
    select A.ID, B.CODE, C.TYPE_DESC
    from TABLE_ONE A@db_link , TABLE_TWO B@db_link, TABLE_THREE C@db_link;
    where A.ID = B.ID
    and B.CODE = C.CODE
    Thanks in advance.

    Just as an FYI, from a performance standpoint, it is frequently the case (though certainly not guaranteed) that you'll get better performance creating a view on the remote database that does the join of all three tables and to use that view in your query, particularly if you're also joining in local tables. Optimizing SQL statements across database links tends to be particularly hard, a view often helps force Oracle to join the remote tables on the remote database which is generally what you'd want. Of course, this is not a guarantee, and you can always get explicit with hints to force joins to happen on one or the other system, but this is frequently the easiest starting point.
    Justin

  • Multiple values from a single function to be used SQL

    I have some pl/sql code that calculates multiple values in the same procedure (multiple out parameters).
    Now I want to use these separate values in an SQL select.
    One way to do it, is creating functions for each separate value.
    Performance wise, I don't want to do so.
    I created an object type with 9 number values.
    A function returns the object type and I select it in a subquery.
    The outer query then selects 3 different values from the object in the subquery.
    Unfortunately, a query with 3 rows still results in the function being called 9 times (3 row x 3 values).
    Is there a way to force the object function being called just once per row ?
    Or is there an alternative way?
    I've tried pipelined functions but then I have trouble with the input values for the function that should be taken from another select.
    result will be a view with a key value and the calculated values
    SELECT key_value, calculated_value1, calculated_value2, calculated_value3
    FROM SOME_TABLE

    DROP TABLE TBL
    CREATE TABLE TBL(
    ID NUMBER(10),
    CODE VARCHAR2(20),
    PARENT NUMBER(10)
    INSERT INTO TBL VALUES(1,'A',1);
    INSERT INTO TBL VALUES(2,'B',1);
    INSERT INTO TBL VALUES(3,'C',1);
    INSERT INTO TBL VALUES(4,'D',2);
    INSERT INTO TBL VALUES(5,'E',2);
    INSERT INTO TBL VALUES(6,'F',2);
    CREATE OR REPLACE PACKAGE pck_test IS
    TYPE t_rec IS RECORD(
    value1 NUMBER,
    value2 NUMBER,
    value3 NUMBER);
    TYPE t_tab IS TABLE OF pck_test.t_rec;
    FUNCTION calculate(i_id NUMBER) RETURN pck_test.t_tab
    PIPELINED;
    END pck_test;
    CREATE OR REPLACE PACKAGE BODY pck_test IS
    FUNCTION calculate(i_id NUMBER) RETURN pck_test.t_tab
    PIPELINED IS
    v_return t_rec;
    BEGIN
    v_return.value1 := 1 * i_id;
    v_return.value2 := 2 * i_id;
    v_return.value3 := 3 * i_id;
    PIPE ROW(v_return);
    RETURN;
    END;
    END pck_test;
    now I can use the pipelined function:
    SELECT 1 id, x.value1, x.value2, x.value3
    FROM TABLE(pck_test.calculate(1)) x
    id is hard-coded in this select with value 1
    I want to use TBL.id as the argument for the calculate function.
    I don't know how. I tried this...
    SELECT parent, ID, multi_values.value1, multi_values.value2, multi_values.value3
    FROM (
    SELECT ID, TABLE(pck_test.calculate(ID)) multi_values
    FROM TBL)
    Then the SELECT will be stored as a view.
    In an application, the view will be queried:
    select value1, value2, value3
    from view
    where parent = :parameter

  • Get a Column value based on other column value in a single query

    Hi All,
    I have a problem here -
    In Table XYZ I have columns by name A, B, C and COL_I. COL_I has a value A or B or C. Based on the value in COL_I, I need to get the value from the corresponding column in the table.
    For Ex: If the COL_I has the value as 'A' then I need to fetch the value from the column A. If it is 'B' then fetch from column B.
    This has to be done in a single query.
    Thanks,
    san_mah

    Hi You can use this query
    I have taken this simple case
    SQL> desc column_fetch
    Name Null? Type
    C_FIRST_NAME VARCHAR2(30)
    C_MIDDLE_NAME VARCHAR2(30)
    C_LAST_NAME VARCHAR2(30)
    C_GET_NAME VARCHAR2(30)
    based on C_GET_NAME find values in columns C_FIRST_NAME,C_MIDDLE_NAME,C_LAST_NAME
    Values in Table
    SQL> select * from column_fetch
    2 ;
    C_FIRST_NAME C_MIDDLE_NAME C_LAST_NAME C_GET_NAME
    A B C D
    A B C F
    A B C F
    A B C A
    A B C B
    A B C C
    CASE Statement:
    SELECT
    CASE WHEN c_first_name=c_get_name THEN c_first_name
    WHEN C_MIDDLE_NAME=C_GET_NAME THEN C_MIDDLE_NAME
    WHEN C_LAST_NAME=C_GET_NAME THEN C_LAST_NAME
    ELSE 'Nothing' END
    FROM column_fetch;

Maybe you are looking for