Creating functions from two tables
So I have these two tables emp and salary. I would like to create a function to accept a grade from salary table
and return number of employes belonging to that specific.Similarly, I would like to create a function to accept the
MGR# from the emp table and return number of employees working under that specific manager.
1.Create function emp_count
(I_grade in number)
return number is
cnt number (2):=0;
begin
Select Count (*) into cnt
from emp, salary e
where e.grade= I_grade;
return (cnt);
end;
2.Create function mgr_count
(I_MGR in number)
return number is
cnt number (2):=0;
begin
Select Count (emp) into cnt
from emp e
where e.mgr= I_mgr;
return (cnt);
end;
Thanks
Joins are same in SQL and PLSQL...
Additional things you can do in PLSQL..
1. Select a single row output in PLSQL variable using INTO
2. Pass a parameter to Select Query
You can also select multirow output in collection type variable.
So coming back to your query write a select query joining emp and salary tables on on grade column (I assume this is the common column between 2 tables) and then filter data using grade input parameter.
Regards
Arun
Similar Messages
-
Hi
how to create a external content type for Read and Update data from two tables in sqlserver using sharepoint designer 2010
i created a bcs service using centraladministration site
i have two tables in sqlserver
1)Employee
-empno
-firstname
-lastname
2)EmpDepartment
-empno
-deptno
-location
i want to just create a list to display employee details from two tables
empid firstname deptno location
and same time update in two tables
adilWhen I try to create an external content type based on a view (AdventureWorks2012.vSalesPerson) - I can display the data in an external list. When I attempt to edit it, I get an error:
External List fails when attached to a SQL view
Sorry, something went wrong
Failed to update a list item for this external list based on the Entity (External Content Type) 'SalesForce' in EntityNamespace 'http://xxxxxxxx'. Details: The query against the database caused an error.
I can edit the view in SQL Manager, so it seems strange that it fails.
Any advice would be greatly GREATLY appreciated.
Thanks,
Randy -
Create a procedure which requires displaying information from two tables
What if we want to create a procedure which requires displaying information from two tables. In this situation,
I need to display all the details of an employee from an 'emp' table based on the deptno. and also their salary information which is
stored in "Salgrade" Table. Is the use of "And" the correct way of using it?
Do I need to declare all the attributes before begin or I can just access them directly? Thanks
Create Procedure findDept
( I_deptno IN number
) As
Begin
Select Ename, Job, MGR, Hiredate, Sal, Comm, Dept_no from emp and exp, grade , location from salgrade where dept_no
= I_Deptno;
Exception
When NO_Data_Found then
DBMS_Output.Put_Line(' Department not found"|| I_deptno);
End findDept;Hi,
Besides Qwerty's remark, you've also got a quoting error:
Change
DBMS_Output.Put_Line(' Department not found"|| I_deptno);
{code}
into
{code}
dbms_output.put_line(' Department not found: '|| i_deptno);
{code}
Which leads to the question:
What do you want to do when a record is found?
Display it? -
Can we create a BAM data Object from two tables
Hi ,
I want to pull the data from two tables and create a BAM data object, Is it possible in BAM?
Do the needful
Regards,
FrancisThe sample way is using AQ on database. You can create a database view to join the tables. And create AQ on the view, create a ems to listen on the queue.
-
How to create Analysis from two different subject areas with diff models
Hello,
I have problem with create analysis from two different areas with two different models (Model Star and Snowflakes) build in BI Admin tools.
First Model A = Subject Area A have one fact tables (with measures) and three dimensions tables (Model Star)
Second Model B = Subject Area B have one fact table (no measures) and five dimensions tables (Model Snowflakes).
I'm looking solutions how I can give good results. In this case I can't use UNION, INTERSECT etc., because this models haven't the same number column and data type?
whether it is possible to do in OBIEE?
Please help me
Kind regard
robixHi
One thing to understand is that if your are imagining having two Subject Areas (SAs) displayed and then dragging columns from each into your Request without any preparation, then no, that can't be done. You would need to do a join in the BMM layer and expose the column from the second Subject Area in the presentation layer.
But if you indeed interested in UNION (or intersect) queries, then do this:
Build your first query in the first SA in the usual manner. Note the number of columns and the data types of each column.
Now at the bottom of the Criteria workspace, there is a button called "Combine with similar request." Click it.
Select your second SA. You will note that the outlines of the columns in your first query appear. This is to remind you that the number of columns in this second query must be the same as in the first. It also shows the data type of each column for the same reason.
Once you select your columns and your filters, click on result. (Oh, you will also need to decide what kind of combination you want -- click on the dropdown.) The result will be a new Request that has data from both SAs in the query and combined in the manner you select (union, intersect, etc.)
That should give you a start.
http://obiee101.blogspot.in/2010/08/obiee-combine-with-similar-request.html -- Read this link this is good one to understand with screen shots. -- OBIEE 10g
http://oraclebiee11g.blogspot.in/2011/01/querying-across-multiple-subject-areas.html -- OBIEE 11g
Award Points it is useful.
Thanks
satya -
Cartesian of data from two tables with no matching columns
Hello,
I was wondering – what’s the best way to create a Cartesian of data from two tables with no matching columns in such a way, so that there will be only a single SQL query generated?
I am thinking about something like:
for $COUNTRY in ns0: COUNTRY ()
for $PROD in ns1:PROD()
return <Results>
<COUNTRY> {fn:data($COUNTRY/COUNTRY_NAME)} </COUNTRY>
<PROD> {fn:data($PROD/PROD_NAME)} </PROD>
</Results>
And the expected result is combination of all COUNTRY_NAMEs with all PROD_NAMEs.
What I’ve noticed when checking query plan is that DSP will execute two queries to have the results – one for COUNTRY_NAME and another one for PROD_NAME. Which in general results in not the best performance ;-)
What I’ve noticed also is that when I add something like:
where COUNTRY_NAME != PROD_NAME
everything is ok and there is only one query created (it's red in the Query plan, but still it's ok from my pov). Still it looks to me more like a workaround, not a real best approach. I may be wrong though...
So the question is – what’s the suggested approach for such queries?
Thanks,
Leszek
Edited by xnts at 11/19/2007 10:54 AMWhich in general results in not the best performanceI disagree. Only for two tables with very few rows, would a single sql statement give better performance.
Suppose there are 10,000 rows in each table - the cross-product will result in 100 million rows. Sounds like a bad idea. For this reason, DSP will not push a cross-product to a database. It will get the rows from each table in separate sql statements (retrieving only 20,000 rows) and then produce the cross-product itself.
If you want to execute sql with cross-products, you can create a sql-statement based dataservice. I recommend against doing so. -
Selecting from two tables and confirming from them despites they not relate
Please I need a query to select from two tables that are not related to each other.
I also want to confirm data's as in verify wether what the user has entered is in accordance with what is in the tables
Examples
the first table is named "Card" and the second table is named "Student_Details"
Card table contains a column named "Pin_Number".
The Student_Details table contains fields such as Exam_Number, Name, Age, Sex.
The user has to Enter the Pin_Number which has to be confirmed in the Card table and Exam_Number which has to be confirmed in the Student_Details table and verify that both data's are correct.
Please I need the SQL and PL/SQL queries for this problem.
ThanksHi,
I think you need two different queries
You can write a procedure like:
create or replace procedure p1 (p_pin_number number, p_exam_number)
is
r_card_row card%rowtype;
r_student_details student_details%rowtype;
cursor c1 is
select *
from card
where pin_number = p_pin_number;
cursor c2 is
select *
from student_details
where exam_number = p_exam_number;
begin
open c1;
loop
fetch c1 into r_card_row;
exit when c1%notfound;
.... do whatever you want..... and the samething you can do with other cursor
end loop;
close c1;
end p1;Hope this helps
Ghulam -
Selecting from two tables but making it just one selection
Is there a way to select from two tables and just have one selection appear?
Specifically I have a fact_install_unit, and a fact_install_arch table.
Sometimes the value exists in fact_install_unit.factory_timestamp, and sometimes when fact_install_unit.factory_timestamp is null I need to pull it from the fact_install_arch.factory_timestamp.
sort of like:
(select fact_install_unit.factory_timestamp
from fact_install_unit, fact_install_arch
where fact_install_unit.fl_unit_sak = fact_install_arch.fl_unit_sak
and where fact_install_unit.factory_timestamp is null then display fact_install_arch.factory_timestamp)> I was just stating that I do not have sufficient priveleges to create views in this database.
>
nm means "no more" than that
And how are we supposed to know that? You seem to have changed the thread subject to "unfortunately I only have read-only and insufficient priveleges", which is not even a question.
nm means "New Mexico":
http://www.myshortpencil.com/schooltalk/messages/85/515.html?971794944 -
XML generation from two tables
Hi,
I need to write an Oracle SP(Id as input) create an XML strucutre out of the records fetched from two tables. There is no Fk relation between the tables.
Table A ---> has one record per interface per id
Table B---> has multiple records per interface per id
Table A
1) Id
2)ErrorCount
3)SuccessCount
4)Total
5)InterfaceName
Table B
1)Id
2)InterfaceName
3)ErrorDetail
4)ErrorMessage
XML Strucutre
<Report>
<TableA>
<Id>
<InterfaceName>
<Success/>
<Total/>
</InterfaceName>
</Id>
</TableA>
<TableB>
<Id>
<InterfaceName>
<ErrorDetail/>
<ErrorMesage/>
</InterfaceName>
</Id>
</TableB>
</Report>
Thanks,
Is
Edited by: Is916 on Sep 16, 2009 2:27 AMThere are several ways to general XML.
Here's just one...
with A as (select 1 as id, 2 as errorcount, 4 as successcount, 6 as total, 'Bob' as interfacename from dual union all
select 2, 1, 4, 5, 'Fred' from dual)
,B as (select 1 as id, 'Bob' as interfacename, 'Error 1' as errordetail, 'Ouch that hurt' as errormessage from dual union all
select 1 as id, 'Bob', 'Error 2', 'Why did this happen' from dual union all
select 2, 'Fred', 'Warning', 'Why worry about it' from dual)
select xmlelement("Report",
A.xml, B.xml
) as xml
from (select xmlelement("TableA",
xmlelement("Id",
xmlelement("Success", successcount),
xmlelement("Total", total)
) as xml
from A where A.id = 1) A
,(select xmlagg(xmlelement("TableB",
xmlelement("Id",
xmlelement("InterfaceName",
xmlelement("ErrorDetail", errordetail),
xmlelement("ErrorMessage", errormessage)
) as xml
from B where B.id = 1) B
<Report>
<TableA>
<Id>
<Success>4</Success>
<Total>6</Total>
</Id>
</TableA>
<TableB>
<Id>
<InterfaceName>
<ErrorDetail>Error 1</ErrorDetail>
<ErrorMessage>Ouch that hurt</ErrorMessage>
</InterfaceName>
</Id>
</TableB>
<TableB>
<Id>
<InterfaceName>
<ErrorDetail>Error2</ErrorDetail>
<ErrorMessage>Why did this happen</ErrorMessage>
</InterfaceName>
</Id>
</TableB>
</Report> -
Delete from two tables in one statement
Hi,
Is there a way to delete from two tables in one statement?
Actually I have two tables:
1. Base table (id, name, age)
2. Person table (id, city, street)
The id in both tables is identical.
I would like to delete using something like a join:
Delete from base, person where id=2;
Thanks
dyahavHi,
If you want to delete records both at a time them your table must use ON DELETE CASCADE. See the below example.
CREATE TABLE supplier
( supplier_id numeric(10) not null,
supplier_name varchar2(50) not null,
contact_name varchar2(50),
CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)
CREATE TABLE products
( product_id numeric(10) not null,
supplier_id numeric(10) not null,
CONSTRAINT fk_supplier
FOREIGN KEY (supplier_id)
REFERENCES supplier(supplier_id)
ON DELETE CASCADE
In this example, we've created a primary key on the supplier table called supplier_pk. It consists of only one field - the supplier_id field. Then we've created a foreign key called fk_supplier on the products table that references the supplier table based on the supplier_id field.
Because of the cascade delete, when a record in the supplier table is deleted, all records in the products table will also be deleted that have the same supplier_id value.
Thank you. -
How to compare two rows from two table with different data
how to compare two rows from two table with different data
e.g.
Table 1
ID DESC
1 aaa
2 bbb
3 ccc
Table 2
ID DESC
1 aaa
2 xxx
3 ccc
Result
2Create
table tab1(ID
int ,DE char(10))
Create
table tab2(ID
int ,DE char(10))
Insert
into tab1 Values
(1,'aaa')
Insert
into tab1 Values
(2,'bbb')
Insert
into tab1 Values(3,'ccc')
Insert
into tab1 Values(4,'dfe')
Insert
into tab2 Values
(1,'aaa')
Insert
into tab2 Values
(2,'xx')
Insert
into tab2 Values(3,'ccc')
Insert
into tab2 Values(6,'wdr')
SELECT
tab1.ID,tab2.ID
As T2 from tab1
FULL
join tab2 on tab1.ID
= tab2.ID
WHERE
BINARY_CHECKSUM(tab1.ID,tab1.DE)
<> BINARY_CHECKSUM(tab2.ID,tab2.DE)
OR tab1.ID
IS NULL
OR
tab2.ID IS
NULL
ID column considered as a primary Key
Apart from different record,Above query populate missing record in both tables.
Result Set
ID ID
2 2
4 NULL
NULL 6
ganeshk -
To Select the data from two table one is transp table and onther is cluster
Hi All,
I want to select the data from two tables
Here i am giving with an example.
Fileds: kunnr belnr from bseg. table bseg
fields: adrnr from kna1 table: kna1.
Know i want to put these into one internal table based on kunnr and belnr.
Thanks in advance.
RameshHi,
U cant use joins on cluster table and BSEG is a cluster table so use FOR ALL ENTRIES for taht
refer this code
*& Form sub_read_bsak
text
--> p1 text
<-- p2 text
FORM sub_read_bsak.
*--Select data from BSAK Table
SELECT lifnr
augdt
augbl
gjahr
belnr
xblnr
blart
dmbtr
mwskz
mwsts
sgtxt
FROM bsak
INTO CORRESPONDING FIELDS OF TABLE it_bsak
WHERE belnr IN s_belnr
AND augdt IN s_augdt.
IF sy-subrc EQ 0.
*--Sort table by accounting document and vendor number
SORT it_bsak BY belnr lifnr.
ENDIF.
ENDFORM. " sub_read_bsak
*& Form sub_read_bseg
text
--> p1 text
<-- p2 text
FORM sub_read_bseg.
IF NOT it_bsak[] IS INITIAL.
*--Select data from BSEG table
SELECT belnr
gjahr
shkzg
kostl
hkont
ebeln
ebelp
FROM bseg
INTO CORRESPONDING FIELDS OF TABLE it_bseg
FOR ALL ENTRIES IN it_bsak
WHERE belnr EQ it_bsak-belnr
AND gjahr EQ it_bsak-gjahr
AND shkzg EQ 'S'.
IF sy-subrc EQ 0.
*--Sort table by accounting document
SORT it_bseg BY belnr.
ENDIF.
ENDIF.
ENDFORM. " sub_read_bseg -
Need of SQL query in selecting distinct values from two tables
hi,
I need a query for selecting distinct values from two tables with one condition.
for eg:
there are two tables a & b.
in table a there are values like age,sex,name,empno and in table b valuses are such as age,salary,DOJ,empno.
here what i need is with the help of empno as unique field,i need to select distinct values from two tables (ie) except age.
can anybody please help me.
Thanks in advance,
RatheeshNot sure what you mean either, but perhaps this will start a dialog:
SELECT DISTINCT a.empno,
a.name,
a.sex,
b.salary,
b.doj
FROM a,
b
WHERE a.empno = b.empno;Greg -
Select from two tables and insert into a third
I'm trying to do a select from two tables and do an insert into a third table from the two resulting columns.
I have the following....
DECLARE
tempsid number;
temphostid number;
BEGIN
select "DBSID_ID","ID" into tempsid,temphostid from "DBSIDS","SERVERS"
where "HOST_SID" like '%'||"DBSID_NAME"||'%'
and "HOST_NAME" not like 'vio%'
and exists (select "DBSID_NAME" from DBSIDS)
order by "DBSID_NAME";
insert into "DBSID_LOOKUP" ("SIDLOOKUP_ID", "SERVERLOOKUP_ID")
values(tempsid, temphostsid);
END;
run;
I get the error ....
ORA-06550: line 11, column 18:
PL/SQL: ORA-00984: column not allowed here
ORA-06550: line 10, column 1:
PL/SQL: SQL Statement ignored
1. DECLARE
2. tempsid number;
3. temphostid number;okay ... I tried a different way ...
DECLARE
a number;
b number;
BEGIN
select "DBSID_ID","ID" into a,b from "DBSIDS","SERVERS"
where "HOST_SID" like '%'||"DBSID_NAME"||'%'
and "HOST_NAME" not like 'vio%'
and exists (select "DBSID_NAME" from DBSIDS)
order by "DBSID_NAME";
insert into "DBSID_LOOKUP" (SIDLOOKUP_ID, SERVERLOOKUP_ID) values (a, b);
END;
and now it whines about ...
ORA-01422: exact fetch returns more than requested number of rows -
Select data from two tables...!
HI Experts...!
i m a beginner user and i want to select data from two tables proj and prps.....using joins.....and internal tables i have written a code...
SELECT prps~pspnr
prps~objnr
prps~psphi
proj~ernam
proj~erdat
proj~pspnr
INTO table itab -
itab is internal table
FROM prps inner join proj
WHERE pspnr in p_no and prpspsphi = projpspnr.
but there is error in from clause ..please help me....
Advance thanx....Hi,
check the sample code bellow above two reply will solve out your problem but one more extra line in your code pointed out bellow.
TABLES: prps, proj.
TYPES: BEGIN OF ty_test,
pspnr LIKE prps-pspnr,
objnr LIKE prps-objnr,
psphi LIKE prps-psphi,
ernam LIKE proj-ernam,
erdat LIKE proj-erdat,
END OF ty_test.
DATA: itab TYPE STANDARD TABLE OF ty_test WITH HEADER LINE.
SELECT-OPTIONS: p_no FOR prps-pspnr.
SELECT prps~pspnr
prps~objnr
prps~psphi
proj~ernam
proj~erdat
* proj~pspnr " No need for this you have selected this in
* the first line because it is commone so you only need to select from any one
INTO TABLE itab
FROM prps INNER JOIN proj ON ( prps~pspnr = proj~pspnr )
WHERE prps~pspnr IN p_no.
Best Regards,
Faisal
Edited by: Rob Burbank on Dec 24, 2009 12:24 PM
Maybe you are looking for
-
How can i tell if my iphone 4 is unlocked?
My father bought me a prepaid iphone 4 from korea. I can't tell if the phone is unlocked or not because when I'm tring to put a diffirent miro sim other than the SK Telecom it display an error "Sim Failure". If its locked how can I contact SK Telecom
-
Safari 2.0.3 : certain web sites don't recognize correct login/password
Just upgraded to 10.4.4 and with this to safari 2.0.3. From this day on I can't gain access to some web sites that require a log/pass because it says it is incorrect. ( Note the password I type is the correct one and works with explorer...). One of t
-
How to post idoc ORDERS05 from ABAP standalone program to the same R3 syst?
Hi Masterminds, I need to post IDoc from ECC to same R/3 system. For that i need to develop a standalone program which will post Idoc 'ORDERS05'. I had the following data: E1EDKA1 - PARTN E1EDK02; QUALF = 001 - BELNR E1
-
hi guys, i wanna do rich client which communicate with JSP page and send and receive data without refreshing the page. for this which i know is we have to use SOAP/JSP and javascript any help will be great. thanks in advance
-
ERROR - JRCAgent1 received a request that cannot be handled by the JRC
<p>Dear all, </p><p>trying to use JRC to export to pdf from a resultset, it ran but return with this error.</p><p>ERROR - JRCAgent1 received a request that cannot be handled by the JRC<br />ERROR - JRCAgent1 detected an exception: Currently not imple