2017-03-25 1 views
0

Ich habe zwei Tabellen. SubjectTbl und SubjectAllotTbl.Wie Datensätze aus einer Tabelle ausgewählt werden, in denen kein anderer Datensatz darin enthalten sein soll

Das ist mein SubjectTbl

+------------+--------------+---------------------+--------------+--------+----------+ 
| Subject_Id | Subject_Code | Subject_Name  | Periods_Week | Dep_Id | Semester | 
+------------+--------------+---------------------+--------------+--------+----------+ 
|   1 |   6012 | Basic Electronics |   10 |  1 |  1 | 
|   2 |   5412 | Computer Science |   7 |  1 |  3 | 
|   3 |   1421 | Musical Science  |   4 |  1 |  5 | 
|   4 |   547 | Network Programming |   7 |  1 |  5 | 
+------------+--------------+---------------------+--------------+--------+----------+ 

und SubjectAllotTbl

+------------+------------+ 
| Subject_Id | Teacher_Id | 
+------------+------------+ 
|   1 |   1 | 
|   2 |   3 | 
|   3 |   2 | 
+------------+------------+ 

All i Subject_Name aus Tabelle SubjectTbl tun mag, ist die Auswahl in dem Samen subject_id nicht

im SubjectAllotTbl vorhanden sein sollte, Ich verwende MySql

Antwort

0
select subject_name 
from SubjectTbl 
where subject_id not in (select distinct subject_id from SubjectAllotTbl) 
wahrscheinlich

Sie haben keine eindeutige müssen, es sei denn, subject_id in SubjectAllotTbl für verschiedene teacher_id

+0

Danke Mann .. hat gut funktioniert –

0

Wiederholung können Sie tun das mit einem left join: alle Zeilen, die nicht beitreten null Werte auf SubjectAllotTbl Spalten haben, und so Sie filtern das Ergebnis darauf.

select subject_name 
from SubjectTbl t1 
left join 
     SubjectAllotTbl t2 
on  t1.subject_id = t2.subject_id 
where t2.subject_id is null; 
Verwandte Themen