Ich habe DBMS-Abfragen praktiziert und ich bin mit der folgenden SQL-Abfrage stecken:Schreiben Sie eine SQL, um Namen aller Schüler mit S-Note in allen Kursen abzurufen, die er/sie versucht hat?
Schreiben Sie eine SQL, um Namen aller Schüler mit S-Klasse in allen Kursen, die er/sie versucht hat, abzurufen?
Im Folgenden sind meine Tabellen und Code
create table COURSE
(
cId int primary key,
cName varchar(30),
credits int not null
);
create table student
(
usn int primary key,
sname varchar(20),
dno int
);
create table RESULT
(
SUsn int,
CCode int,
Grade char,
primary key(SUsn,CCode)
);
Code:
select S.sname
from student S inner join result R on S.usn = R.susn
where grade = 'S'
group by S.usn,S.sname
having count(*) in (
select count(*) from result
group by susn
);
Darf ich wissen, wohin ich gehe falsch? Bitte hilf mir.
Wenn die Klasse nullfähig ist (sie ist nicht nicht null deklariert), muss eine Überprüfung auf null hinzugefügt werden. – mathguy
@GordonLinoff Gibt es eine andere Möglichkeit, diese sql zu schreiben, da es nicht mit der Fallverwendung vergleichbar ist? –
Sie können, aber wird die Dinge komplizieren. Nutzen Sie diese Gelegenheit, um etwas Neues zu lernen. Überprüfen Sie die [** CASE **] (http://docs.oracle.com/cd/B19306_01/server.102/b14200/expressions004.htm) sintaxis –