Sql query: number of occurence of cellData on more thann one column in tabl
I have employee table contains following rows.
INSERT INTO employee VALUES (105, 'Srinath','vijay','Aeronautics', 27, 33000);
INSERT INTO employee VALUES (105, 'Kumble','Anil','Aeronautics', 27, 33000);
INSERT INTO employee VALUES (105, 'Prabhakar','Manoj','Aeronautics', 27, 33000);
INSERT INTO employee VALUES (105, 'Srinath','Jawagal','Aeronautics', 27, 33000);
INSERT INTO employee VALUES (105, 'Jawagal','Srinath','Aeronautics', 27, 33000);
INSERT INTO employee VALUES (105, 'Mishra','Anil','Aeronautics', 27, 33000);
INSERT INTO employee VALUES (105, 'Kumble','Prabhakar','Aeronautics', 27, 33000);select distinct first_name firstName,count(1) over (partition by first_name) firstNameCount from employee;
and i got the follwoing result.
(Srinath 2,Kumble 2,Prabhakar 1,Jawagal 1,Mishra 1)
Now i want to consider second and third column both and want to number of occurence of table data on these two columns
(Srinath 3,Kumble 2,Prabhakar 2,Jawagal 2,Mishra 1,vijay 1,Anil 2,Manoj 1)As Srinath is coming 3 times, kumble 2 times, Prabhakar 2 times,Jawagal 2 times,Mishra 1 times,vijay 1 times,Anil 2 times and Manoj 1 times.
What will be my sql query?
Try this
select name, count(name) over(partition by name) cnt
from (select first_name from employee union all select last_name from employee)
Similar Messages
-
Hi,
I want to use the SQL query IF EXIST to update or insert data in a ms access table, but it doesn´t work
(fault number -2147217900)
I want to search for a value in a ms access table , if it exist i want to update it, if not i want to insert a new row.
Working with LabView 7.1, database con. toolset.
Who can HELP?
Thanks a lot
MarcoHello,
I think that If exist is not a standar SQL command (I know it exists I think in Oracle and SQL server), MS access doesn't support it, so I think the best way to do it is first make a Select and then either an Update or an insert, sorry...
Paulo -
Can i update more then one column using select query.
Dear All,
Can i update more then one column of target table A from source table B. Like
Update table A set A.A1 = (Select B.B1 from B where A.A3 = B.B3).
Above stmt. I am updating only one column. But I want to update more then one column A.A1 and A.A2
Plz give me the possible ways.
Thanks,
VikasYes you can do. Try the below Query
Update A set (A.A1,A.A2) = (Select B.B1,B.B2 from B where A.A3 = B.B3) -
hi all,
Can anyone let me know how to display the number in the following manner thru sql query.
Actual value is 20 Then the output to be : 00002000
if the value is 20.34 Then the output to be : 000020.34 Thanks in advance.CCYYMMDDThere is. Give the centure, year, month and day.
SQL> select to_char(sysdate,'CCYYMMDD') from dual;
TO_CHAR(
21070128
if so wht the use of it.Just like it, I don't know, since it may have confusing against the year 2107...
But maybe like this will be more properly :
SQL> select to_char(sysdate,'CCth, YYYYMMDD') from dual
SQL> /
TO_CHAR(SYSDAT
21ST, 20070128
SQL> Nicolas. -
Need sql query to get OIM request pending approval details for one user
HI OIM Guru,
It would be great help if someone can provide me sql query by which i can find out how many requests are pending for approval for one user ?1. Below query will give you status of all the request.
SELECT REQ.REQUEST_ID , REQ.REQUEST_STATUS FROM REQUEST REQ
2. You can have following status
Obtaining Operation Approval
Obtaining Template Approval
Operation Approval Approved
Operation Approval Rejected
Post Operation Processing Initiated
Request Approval Rejected
Request Closed
Request Completed
Request Created
Request Failed
Request Withdrawn
Template Approval Rejected
3. Now prepare the query from above sapmle, the requset status string should not contains foloowing values.
Rejected
Failed
Closed
Withdrawn
Completed
The builded query will give you the desired result for 11g
for 10 G
Get the OST_STATUS from Req table, and do you logic above stated
-Kuldeep
Edited by: Kuldeep on May 22, 2012 1:04 AM -
SQL to convert rows with more than one columns to columns
Hi All,
I have a typical question here. As must have been in most of the recent databases, the attributes of a master table are put in a child table. So an SQL query will return multiple rows with each row having each attribute.
Eg: Object OBJ has 5 attributes - A, B, C, D, E. The tables would be
TABLE OBJ
======
OBJ_ID (PK) (Say ID1)
OBJ_COL1
OBJ_COL2
TABLE OBJ_CHILD
========
OBJ_CHILD_ID (PK)
OBJ_ID(FK)
ATTRIBUTE (The data will be A,B,C,D,E for each OBJ_ID)
ATTRIBUTE_VALUE (Value for each attribute. say 1,2,3,4,5)
Query : SELECT OBJ_ID, ATTRIBUTE, ATTRIBUTE_VALUE FROM OBJ < OBJ_CHILD where OBJ.OBJ_ID = OBJ_CHILD.OBJ_ID
This will return 5 rows as :
OBJ ATTRIBUTE ATTRIBUTE_VALUE
=== ======== =============
ID1 A 1
ID1 B 2
ID1 C 3
ID1 D 4
ID1 E 5
I need to return rows as follows:
ID1 A 1 B 2 C 3 D 4 E 5
Is this thing possible in SQL? Even with a function ? (Its a transpose but with two columns in every row)
Thanks,
Midhun.
P.S. I am on Oracle 10g.Hi
user8830587 wrote:
... I need to return rows as follows:
ID1 A 1 B 2 C 3 D 4 E 5How many columns is that?
If it's 11 or 12 separate columns, then look for Pivot .
If it's 2 or 3 columns (where the last one is all the data from obj_child concatenated together), then look for String Aggregation .
Either can be done with any number of columns.
If you have a choice, you'll probably want to do string aggregation rather than pivot.
If you'd like help, post a little sample data (CREATE TABLE and INSERT statements) for both tables.
Also post the results you want from that data, clearly formatted to show the columns. When you post formatted text on this site, type these 6 characters:
\(all small letters, inside curly brackets) before and after each section of formatted text, to preserve spacing.
Edited by: Frank Kulash on May 14, 2010 6:26 AM -
How do I add more than one column to a table using SQL?
Hi
I need to add 3 columns to a table using SQL
the syntax
"ALTER TABLE TEST ADD COLUMN newcol1 float";
works fine - for adding one coumn only.
For multiple columns I tried various permutations along the lines of
"ALTER TABLE TEST ADD (COLUMN newcol01 float, COLUMN new2 float,COLUMN new3 float)";
"ALTER TABLE TIPSTEST ADD COLUMN new1 float"
"ALTER TABLE TIPSTEST ADD COLUMN new2 float"
"ALTER TABLE TIPSTEST ADD COLUMN new3 float"
etc., but this doesn't work.
From a web search it sounds like SQL can only add one column at a time.
I have a workaround : create intermediate temporary tables , copying data and adding
one column at each stage. It seems a fairly awkward way of programming though.
Am I missing something simple : is there a way to add multiple columns in one go?
ThanksOK : solved an underlying problem with this one myself
for the code
String createString;
createString = "select COFFEES.* INTO NEWCOFFEES FROM COFFEES"; // example
Statement stmt;
try {
stmt = a_Globals.database1Connection.createStatement();
stmt.executeUpdate(createString);
stmt.close();
a_Globals.database1Connection.close();
} catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
} commenting out the line:
a_Globals.database1Connection.close();
Allowed the subsequent SQL statement(s) to work OK. Looks like this was the cause of several
difficulties, preventing me doing several SQL instructions in turn.
Thanks for the responses.
Mike2z -
Query to retrieve the records which have more than one assignment_id
Hello,
I am trying to write a query to retrieve all the records from the table per_all_assignments_f which has more than one different assignment_id for each person_id. Below is the query i have written but this retrieves the records even if a person_id has duplicate assignment_id's but i need records which have more than one assignement_id with no duplicates for each person_id
select assignment_id ,person_id, assignment_id
From per_all_assignments_f
having count(assignment_id) >1
group by person_id, assignment_id
Thank You.
PKMaybe something like this?
select *
From per_all_assignments_f f1
where exists (select 1
from per_all_assignments_f f2
where f2.person_id = f1.person_id
and f2.assignment_id != f1.assignment_id
);Edited by: SomeoneElse on May 7, 2010 2:23 PM
(you can add a DISTINCT to the outer query if you need to) -
SQL query to find top 5 users having more rows/data in table
Dear experts,
OS = HP-UX
Database = Oracle 9.2.0.8
AC users = 600
Ex:-
select * from all_users where username like 'AC%';
AC_1
AC_2
AC_3
AC_4
AC_5
AC_6
AC_.
AC_.
AC_.
AC_600
Each AC user having same tables INCOMING, OUTGOING
Now i need to find top 5 users having more rows/data in INCOMING , OUTGOING tables. I tried this:
SQL>conn AC_1/pwd
select 'select count(*) from '||table_name||';' from user_tables;
But i get max counts info only for this AC_1 user , however, i need top 5 users having more rows/max counts query.
Thank you,source : oracle forums
May be , this one.. not tested though.
Before doing this you need to have select_catalog_role
WITH tmp
AS (SELECT owner,
table_name,
TO_NUMBER (
EXTRACTVALUE (
xmltype (
DBMS_XMLGEN.getxml (
'select /*+ PARALLEL*/ count(*) c from '
|| table_name)),
'/ROWSET/ROW/C'))
Cnt
FROM dba_tables
WHERE 1 = 1 AND table_name IN ('INCOMING', 'OUTGOING')),
tmp1
AS (SELECT a.*,
MAX (cnt)
OVER (PARTITION BY a.table_name ORDER BY a.cnt DESC)
maxcnt
FROM tmp a)
SELECT DISTINCT a.*
FROM tmp a, tmp1 b
WHERE a.cnt = b.maxcnt AND a.table_name = b.table_name; -
Return specific number of rows depending on the data in a column in table
Hi,
I have a table named orders which has column orderid and noofbookstoorder in addition to other columns.
I want to query the orders table and depending on the value of the 'noofbookstoorder' value return that number of rows.
Eg
Orderid noofbookstoorder
1 1
2 3
3 2
when I query the above data saying
select * from orders where orderid=2;
since it has noofbookstoorders value as 3 the query should return 3 rows and when I query
select * from orders where orderid=3;
it should return 2 rows and
select * from orders where orderid=1;
should return 1 row.
Is it possible to achieve this. If yes, then how do I write my query.
Thanks in advance.with t as (
select 1 Orderid,1 noofbookstoorder from dual union all
select 2,3 from dual union all
select 3,2 from dual
select t.*
from t,
table(cast(multiset(select 1 from dual connect by level <= noofbookstoorder) as sys.OdciNumberList))
where Orderid = <order-id>
/For example:
SQL> with t as (
2 select 1 Orderid,1 noofbookstoorder from dual union all
3 select 2,3 from dual union all
4 select 3,2 from dual
5 )
6 select t.*
7 from t,
8 table(cast(multiset(select 1 from dual connect by level <= noofbookstoorder) as sys.OdciNumberList))
9 where Orderid = 2
10 /
ORDERID NOOFBOOKSTOORDER
2 3
2 3
2 3
SQL> with t as (
2 select 1 Orderid,1 noofbookstoorder from dual union all
3 select 2,3 from dual union all
4 select 3,2 from dual
5 )
6 select t.*
7 from t,
8 table(cast(multiset(select 1 from dual connect by level <= noofbookstoorder) as sys.OdciNumberList))
9 where Orderid = 3
10 /
ORDERID NOOFBOOKSTOORDER
3 2
3 2
SQL> with t as (
2 select 1 Orderid,1 noofbookstoorder from dual union all
3 select 2,3 from dual union all
4 select 3,2 from dual
5 )
6 select t.*
7 from t,
8 table(cast(multiset(select 1 from dual connect by level <= noofbookstoorder) as sys.Odc
iNumberList))
9 where Orderid = 1
10 /
ORDERID NOOFBOOKSTOORDER
1 1
SQL> -- And if you want to select multiple orders
SQL> with t as (
2 select 1 Orderid,1 noofbookstoorder from dual union all
3 select 2,3 from dual union all
4 select 3,2 from dual
5 )
6 select t.*
7 from t,
8 table(cast(multiset(select 1 from dual connect by level <= noofbookstoorder) as sys.Odc
iNumberList))
9 where Orderid in (2,3)
10 /
ORDERID NOOFBOOKSTOORDER
2 3
2 3
2 3
3 2
3 2
SQL> SY.
Edited by: Solomon Yakobson on Oct 26, 2009 7:36 AM -
Group by returning more than one column in a single query
Hello,
Sorry to ask such a simple question I guess, but here is my problem.
I'm building a query to get say the smallest user_id from employees in the company by department.
The query goes like :
select emp..department,
min(emp.user_id)
from employee emp
group by emp.department
This gives me the smallest user id by department, which is what I want. But how can I also get the name of that person ?
I know that the "min" condition singles out a unique record (there are no two persons with the same user_id in the department).
But how can I also get the name without turning the above query in a subquery that I would link to the employee table yet again ?
I know the following works but I don't think it's the best option:
select v1.department,
v1.user_id,
emp1.name
from employee emp1,
( select emp..department,
min(emp.user_id)
from employee emp
group by emp.department) v1
where emp1.user_id = v1.user_id
This is just an example of data. It is the principle that I don't quite get.
Any advice would be very much appreciated.
CyrilHi, Cyril,
To find the name of the person who has the lowest user_id
SELECT department
, MIN (user_id) AS lowest_user_id
, MIN (name) KEEP (DENSE_RANK FIRST ORDER BY user_id) AS person_with_lowest_user_id
FROM emp
GROUP BY department;"MIN (name)" above means that if there is a tie for the lowest user_id, then the contender with the first name will be chosen.
If you want to display several columns from the row with the lowest user_id, you have to have a separate "KEEP (DENSE_RANK ...)" expression for each column. In that case, you may find it easier to use the analytic RANK or ROW_NUMBER in a sub-query, like this:
WITH sub_query AS
SELECT department
, user_id
, name
, col2, col3, col4, col5
, RANK () OVER ( PARTITION BY department
ORDER BY user_id
) AS r_num
FROM emp
SELECT * -- or list all columns EXCEPT r_num
FROM sub_query
WHERE r_num = 1; -
OLAP Query. More than one Column/Row.
Hi all experts.
I am developing an OLAP query and need to create it in this way:
Material: As BI Characteristic.
Unit: As BI Characteristic.
Value: As BI Ratio.
Returned structure in MII should be like this:
Material Unit Value
Mat1 M3 250
Mat2 KG 140
Mat3 M3 200
The BI query I am using is showing data in that way using BEx Analyzer.
However, I am not able to create it using MII's MDX syntax coded like this:
SELECT
[Measures].[xxxxxxxxxxxxxxxxxxxxxxxxxxx] ---> This is my BI Ratio "Value"
ON COLUMNS,
NON EMPTY
[SM_MATERI].MEMBERS, [1CUDIM].MEMBERS ---> These are Materials and Units
ON ROWS
FROM MYCUBE/MYQUERY
Which will return data in this way, whithout crossing Materials & Units:
Material Unit Value
Mat1 -
250
Mat2 -
140
Mat3 -
200
M3 450
KG 140
Any idea about how should I code my query?
I have checked both SAP's Help website and SDN Posts but without success.
Many thanks and kind regards.
Albert.
Edited by: a.pozos.basterrica on Apr 27, 2011 9:19 AMAlbert,
It's tough to follow what you're after without knowing the definition of your cube but here's a document that will help you:
[http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/458ba574-0a01-0010-2aab-d1ee76ee9820|https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/458ba574-0a01-0010-2aab-d1ee76ee9820]
It's also available under the Connectivity section of the MII Wiki, in case this link doesn't work for some reason. Also, the best way to write your OLAP Queries is not from within the MII OLAP Query template but rather via the SAP GUI interface of the BW system in transaction code MDXTest. This is a bit more comprehensive and gives you better error messages.
Hope this helps,
Sam -
How Can I Change the Where Condition In the First SQL Query?
SELECT IND_SSN, BEG_SVC_DT, END_SVC_DT,
TRUNC(MONTHS_BETWEEN((TO_DATE('19'||END_SVC_DT,'YYYYMMDD')),BEG_SVC_DT)/12),
mod(trunc(months_between((to_date('19'||end_svc_dt,'YYYYMMDD')),BEG_SVC_DT)),12),
DECODE((SUBSTR(END_SVC_DT,5,2) - SUBSTR(BEG_SVC_DT,1,2)+1),-1,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-2,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-3,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-4,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-5,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-6,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-7,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-8,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-9,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-10,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-11,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-12,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-13,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-14,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-15,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-16,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-17,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-18,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-19,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-20,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-21,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-22,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-23,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-24,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-25,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-26,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-27,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-28,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-29,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-30,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
-31,((SUBSTR(END_SVC_DT,5,2)+ 31) - SUBSTR(BEG_SVC_DT,1,2)),
30,0,
(SUBSTR(END_SVC_DT,5,2) - SUBSTR(BEG_SVC_DT,1,2)+1))
FROM SVC_OCCURRENCES
WHERE end_svc_dt not in ('PRESENT')
AND SUBSTR(END_SVC_DT,1,1) IN '9'
AND SUBSTR(END_SVC_DT,5,2) NOT IN ('31')
and (SUBSTR(END_SVC_DT,5,2) - SUBSTR(BEG_SVC_DT,1,2)+1) not in ('30')
UNION
SELECT IND_SSN, BEG_SVC_DT, END_SVC_DT, NULL, NULL, NULL
FROM SVC_OCCURRENCES
WHERE SUBSTR(END_SVC_DT,1,1) IN 'P'
The above code works fine and I get the correct numeric values from the SQL
query when the varchar2 end_svc_dt field is numeric however if I have encoded
the word 'PRESENT' in the varchar2 end_svc dt field the SQL query aborts at
the last statement in the WHERE condition. The beg_svc_dt field is a Date field.
and (SUBSTR(END_SVC_DT,5,2) - SUBSTR(BEG_SVC_DT,1,2)+1) not in ('30')
I get the following error message
ERROR ORA-0722 INVALID NUMBER
I encode the word 'PRESENT' in a varchar2 end_svc_dt field on an Oracle form. This is the only word that can be encoded.
Is there some way that I can bypass the last statement in the where condition and
compute the values from the SQL query without having the SQL query abort?
Eventually I want to do this in a report. I know that this sounds strange but can it be done?The above code works fine and I get the correct
numeric values from the SQL
query when the varchar2 end_svc_dt field is numeric
however if I have encoded
the word 'PRESENT' in the varchar2 end_svc dt field
the SQL query aborts at
the last statement in the WHERE condition.Ouch!
Storting dates in VARCHAR2 columns is bad practice, poor design and makes for horrible code.
The beg_svc_dt field is a Date field.
and (SUBSTR(END_SVC_DT,5,2) -
SUBSTR(BEG_SVC_DT,1,2)+1) not in ('30')If it's a date field then why on earth are you trying to SUBSTR it. SUBSTR = sub-string i.e. take a sub section of a string not sub-date.
I get the following error message
ERROR ORA-0722 INVALID NUMBERAnd you're surprised by this?
Is there some way that I can bypass the last
statement in the where condition and
compute the values from the SQL query without having
the SQL query abort?Store your dates properly, use additional flag columns for non-date information and code your SQL properly.
Eventually I want to do this in a report. I know
that this sounds strange but can it be done?Yes, most things are possible. -
Export SQL query from link or button
I want to list several 'canned' SQL queries on one page as buttons or links; and have the result of selection be an immediate extract/download to excel of the data.
How can I best do this?
I suppose I could create separate hidden regions with their own reports that could somehow be referenced in the link. I would like to avoid doing all that, if I can create a package or process that includes the SQL query and that can be called in the link.
Thanks in advance,
Rich
Edit:
Found 'Report Query' functionality in Apex v3.2.1: However I am unable to get this to work; tells me my printer is not set up. I don't want to print the detail, I want it to be downloaded into excel... I don't have a printer configured - & don't want to. The URL provided for download as attachment is:
f?p=&APP_ID.:0:&SESSION.:PRINT_REPORT=reportname
I also have no page 0.
Help?
Edited by: rdarlin2 on Sep 16, 2011 11:14 AMrdarlin2 wrote:
I want to list several 'canned' SQL queries on one page as buttons or links; and have the result of selection be an immediate extract/download to excel of the data.
How can I best do this?
I suppose I could create separate hidden regions with their own reports that could somehow be referenced in the link. I would like to avoid doing all that, if I can create a package or process that includes the SQL query and that can be called in the link.10,000ft overview of one way to do this:
<li>Create a package with private functions that return the SQL for each "canned query", and a public switch function that returns a query function based on an input parameter:
create or replace package qry
is
function selector (p_req_qry in varchar2) return varchar2;
end qry;
create or replace package body qry
is
function emp_qry return varchar2
is
begin
return 'select * from emp';
end emp_qry;
function dept_qry return varchar2
is
begin
return 'select * from dept';
end dept_qry;
function selector (p_req_qry in varchar2) return varchar2
is
begin
return
case p_req_qry
when 'EMP' then emp_qry()
when 'DEPT' then dept_qry()
end;
end selector;
end qry;
/<li>Create 2 pages
<li>On page 2 create a standard SQL report region of type SQL Query (PL/SQL function body returning SQL query):
Region Source
return qry.selector(:request);*(o) Use Generic Column Names (parse query at runtime only)*
Maximum number of generic report columns
number of columns in your biggest query
Report Template
export: CSV
<li>On page 1 create an HTML region (or use an APEX list) with a link for each query, where the REQUEST component of the URL is the parameter used to select a query in the <tt>qry.selector</tt> function:
<ul>
<li><a href="f?p=&APP_ID.:2:&SESSION.:EMP">Emp</a></li>
<li><a href="f?p=&APP_ID.:2:&SESSION.:DEPT">Dept</a></li>
</ul>However this begs the question: Why bother? What's Excel got that APEX hasn't? -
Change "SQL Query" report to "SQL Query (updateable report)" report?
I manually made a report, because the tabular report made by the wizard gave me no possibility to use a popup LOV. Now I have this report, but I cant apply an MRU process on it, becuase it's not an "SQL Query (updateable report)". How can I change my report to a "SQL Query (updateable report)"? I only can choose between SQL Query and SQL QUERY (PL/SQL function body returning SQL query).
Hi Tom
You can just write the processes yourself. Although trickier this can give you a lot more control over row processing.
APEX_APPLICATION.G_F01, F02 etc are global variables in the apex_application package that are defined as arrays.
These are regularly used in tabular forms to reference values within them. The normal ordering would be column 1 = G_F01, column 2 = G_F02 etc etc. Although you can change these and even assign more than one column to an array.
The example
FOR i IN 1..APEX_APPLICATION.G_F01.COUNT LOOP
INSERT INTO my_table VALUES(:P1_EMPID , APEX_APPLICATION.G_F01(i));
END LOOP;Is saying - for the number of values in the array G_F01 (probably column 1) loop insert into the table the value of the associated value in the array. So first time through i=1 - so the first value in the array (probably row 1 in column 1), next time i=2 so the second value in the array is used (probably row 2 in column 1) and so on...
When you've created a manual tabular form (what I would call what you've done) you have created the items using the APEX_ITEM package in your query. The first parameter for this is p_idx which defines which global array to hold it in.
Cheers
Ben
Maybe you are looking for
-
hi, just brought a new pc i have transferred all the files, but cannot access my itunes library to play music on the pc, its on the pc , but it wont let me play music. my daughters library works though, but she has a newer model than mine. how can i
-
PLSSSSSS hep me how to solve my problem ? Thank you very much !
-
Stopping Fireworks from auto correcting
So I am trying to create a link with the hotspot tool. The link includes a "&" symbol which Fireworks automatically auto corrects to use the ascii code & With the end file being exported to PDF, this does not work. I need to know how to stop Firewo
-
ITunes for Windows - Error when burning 4651
A friend of mine is having a problem with iTunes. Everytime he tries to burn a CD, iTunes gives an error - error 4651. Anyone know what that means. I am pretty sure he is running XP. I told him to upgrade iTunes and see if that helps. He had iTunes 7
-
CA96 update of in-house production time
Dear PP Gurus , I want to update material master for in-house production time with Routings lead times. The system update processing time (lot dependent) but I want to update the in-house production time (MRP2 view). Can you help me ? Thanks in advan