इस प्रकार की क्वेरी को सहसंबद्ध उप क्वेरी कहा जाता है। आपकी आवश्यकता के लिए, क्वेरी इस प्रकार होगी....
update students s
set s.department = (
select e.qualification
from employee e
where s.uniquename = e.uniquename
and s.Homecountry = e.Homecountry
);
नीचे दिए गए आपके उत्तरों के आधार पर इस पोस्ट को अपडेट कर रहा है।
दोबारा, आगे बढ़ते हुए, अपने मामले को पुन:पेश करने के लिए हमेशा निर्माण तालिका पोस्ट करें और कथन (और अपेक्षित परिणाम) डालें। यदि आप अपेक्षित परिणाम नहीं देखते हैं या यदि आप क्वेरी निष्पादित करते समय कोई त्रुटि देखते हैं, तो केवल "काम नहीं कर रहा" कहने के बजाय सटीक संदेश पोस्ट करें। यहाँ मेरे sqlplus सत्र के परिणाम हैं।
---टेबल बनाएं और स्टेटमेंट डालें
create table student(
name varchar2(20),
age number,
department varchar2(3),
HomeCountry varchar2(10)
);
Table created.
create table employee5(
name varchar2(20),
exp number,
qualification varchar2(3),
homecountry varchar2(10)
);
Table created.
insert into student values ('Mohan',25,'EEE','India');
insert into student values ('Raja',27,'EEE','India');
insert into student values ('Ahamed',26,'ECE','UK');
insert into student values ('Gokul',25,'IT','USA');
commit;
insert into employee5 values ('Mohan',25,'ECE','India');
insert into employee5 values ('Raja',24,'IT','India');
insert into employee5 values ('Palani',26,'ECE','USA');
insert into employee5 values ('Sathesh',29,'CSE','CANADA');
insert into employee5 values ('Ahamed',28,'ECE','UK');
insert into employee5 values ('Gokul',29,'EEE','USA');
commit;
डेटा अपडेट करने से पहले...
SQL> select * from student;
NAME AGE DEP HOMECOUNTR
-------------------- ---------- --- ----------
Mohan 25 EEE India
Raja 27 EEE India
Ahamed 26 ECE UK
Gokul 25 IT USA
SQL> select * from employee5;
NAME EXP QUA HOMECOUNTR
-------------------- ---------- --- ----------
Mohan 25 ECE India
Raja 24 IT India
Palani 26 ECE USA
Sathesh 29 CSE CANADA
Ahamed 28 ECE UK
Gokul 29 EEE USA
विवरण और परिणाम अपडेट करें
1 update student s set s.age =
2 ( select e.exp
3 from employee5 e
4 where e.name = s.name
5 and e.homecountry = s.homecountry
6* )
SQL> /
4 rows updated.
SQL> select * from student;
NAME AGE DEP HOMECOUNTR
-------------------- ---------- --- ----------
Mohan 25 EEE India
Raja 24 EEE India
Ahamed 28 ECE UK
Gokul 29 IT USA
SQL> commit;
Commit complete.