У меня есть две таблицы:
Таблица факультетов:
(facultyName varchar(1000),foundationYear int,PRIMARY KEY(facultyName))
и Группы таблиц
(groupId int,facultyName varchar(10),groupNumber int,groupYear int, leaderStudentId int,PRIMARY KEY(groupId))
Я хочу выбрать все факультеты, в которых есть по крайней мере две группы, в которых год группы - 2008.
Это мой код
create table Students(studentId int, firstName varchar(10),lastName varchar[10],avgMark int,gender bool ,PRIMARY KEY(studentId));
create table Faculty (facultyName varchar(1000),foundationYear int,PRIMARY KEY(facultyName));
create table Groups (groupId int,facultyName varchar(10),groupNumber int,groupYear int, leaderStudentId int,PRIMARY KEY(groupId));
create table StudentsInGroup (studentId int,groupId int,PRIMARY KEY (studentId,groupId));
insert into Students values(1,"Kajik","Hakobyan",1900,1);
insert into Faculty values("kirarakan",1987);
insert into Faculty values("kirarakan1",1987);
insert into Faculty values("kirarakan2",1987);
insert into Groups values(1,"kirarakan",100,2008,1);
insert into Groups values(2,"kirarakan",100,2008,1);
insert into Groups values(3,"kirarakan",100,2008,1);
insert into Groups values(4,"kirarakan1",100,2007,1);
insert into Groups values(5,"kirarakan2",100,2008,1);
insert into Groups values(6,"kirarakan2",100,2008,1);
SELECT * FROM FACULTY;
SELECT * FROM GROUPS;
SELECT Faculty.facultyName,Faculty.foundationYear
FROM
(
Groups as A
join
Groups as B
on ( A.groupId <> B.groupId AND A.facultyName = B.facultyName And A.groupYear = 2008 AND B.groupYear = 2008 )
)
join
Faculty
on (A.facultyName = Faculty.facultyName)
;
Но я получаю "kirarakan" 6 раз, и я знаю, почемуЯ понимаю, но не знаю, как решить эту проблему.