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.0Based 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,
-PatrickRavi, 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,
ThomasHi 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.
Thanksuser13667036 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 SarafIt 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 RaiWhat 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? -
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, ddddNo 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_TABLEDROP 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_mahHi 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
-
Hi Does anyone know either of a Simple way to Turn off the isight camera on a Macbook pro (3.1 model with Snow leopard) or a simple program or Widget to do this ?? I have already Googled this but cannot find much - except disable certain files, or a
-
No Messages in integration server
Hi all, I have configured the sender file adapter which picks up the file from file adapter and is sending it successfully to integration server. But i am not able to see the messages in integration server using the transaction sxmb_moni. There a
-
My iPad says that I have authorize too many times what can I do to fix this problem?
MY iPad says that I have authorized it too many times, how do I fix this problem?
-
Backup report function returns: ORA-00942: table or view does not exist
Hello All, I recently switched over from control file RMAN to recovery catalog. I logged into the 11g database control, executed a full backup and all went well. However, I just noticed that after I click on 'Backup Report' in database control (enter
-
I am trying to install Skype on Windows 7.0. I get an Access Denied message and then an error 1603. I have run Microsoft fixit and am still getting the same error messages. Can anybody help me fix this? Thanks.