2016-12-07 26 views
-1

1台的Oracle SQL MINUS帮助:教导具体而没有资格展会教师教一个具体课程

CREATE TABLE qualified (
    facultyid integer NOT NULL, 
    courseid character varying(16) NOT NULL, 
    datequalified character varying(16), 
    dq2 date, 
    CONSTRAINT qualified_pkey PRIMARY KEY (facultyid, courseid) 
); 

INSERT INTO qualified VALUES (3467, 'ISM 4212', to_date('9/1995', 'MM/YYYY'), date '1995-09-01'); 
INSERT INTO qualified VALUES (4756, 'ISM 3112', to_date('9/1991', 'MM/YYYY'), date '1991-09-01'); 
INSERT INTO qualified VALUES (2143, 'ISM 3113', to_date('9/1988', 'MM/YYYY'), date '1988-09-01'); 
INSERT INTO qualified VALUES (4756, 'ISM 3113', to_date('9/1991', 'MM/YYYY'), date '1991-09-01'); 
INSERT INTO qualified VALUES (2143, 'ISM 3112', to_date('9/1988', 'MM/YYYY'), date '1988-09-01'); 
INSERT INTO qualified VALUES (3467, 'ISM 4930', to_date('9/1996', 'MM/YYYY'), date '1996-09-01'); 

第二个表:

CREATE TABLE faculty (
    facultyid integer NOT NULL, 
    facultyname character varying(25), 
    CONSTRAINT faculty_pkey PRIMARY KEY (facultyid) 
); 

INSERT INTO faculty VALUES (2143, 'Birkin'); 
INSERT INTO faculty VALUES (3467, 'Berndt'); 
INSERT INTO faculty VALUES (4756, 'Collins'); 

查询:是任何教练资格教ISM 4212并没有资格教ISM 4930?

查询我想:

SELECT q.facultyid, facultyname, q.courseid 
FROM qualified q, faculty fa 
WHERE q.facultyid = fa.facultyid AND courseid = 'ISM 4212' 
MINUS 
SELECT q.facultyid, facultyname, q.courseid 
FROM qualified q, faculty fa 
WHERE q.facultyid = fa.facultyid AND courseid = 'ISM 4930'; 

它显示:3467伯恩特ISM 4212

相反的:NOTHING /无结果。

回答

0

除去SELECT子句下面的解决了这个问题:

q.courseid