Ich lerne SQL. Ich möchte select
employee
(emp_name, emp_lname, project_name
), die nur eine project
(nicht mehr oder weniger) hat.Bessere Idee, um eindeutige Daten aus Tabelle auszuwählen
Ich habe 3 Tabelle in der Datenbank:
Tables:
create table employee(
emp_id char (5) primary key,
emp_name nvarchar(15) not null,
emp_lname nvarchar(20)
);
create table project(
pr_id char(5) primary key,
project_name nvarchar(10) not null,
project_budjet int
);
create table employee_project(
emp_id char (5) foreign key references employee(emp_id),
pr_id char(5) foreign key references project(pr_id),
constraint premppk primary key(emp_id, pr_id)
);
ich select
nur einzigartigen emp_id
von employee_project
versuchen.
Dieser Code gibt mir einzigartige emp_id
von employee_project
select emp_id, count(pr_id) from employee_project
group by emp_id having count(pr_id) = 1
Aber ich brauche emp_id
und pr_id
-select
emp_name
, emp_lname
und project_name
. Ich versuche select
pr_id
auch mit emp_id
was ich schon habe. Code:
select ep.emp_id, ep.pr_id from employee_project as ep,
(
select emp_id, count(pr_id) from employee_project
group by emp_id having count(pr_id) = 1
) CT
where CT.emp_id = ep.emp_id
Jetzt habe ich alles, alles zu wählen, was ich über diese employee
und project
benötigen. Schließlich Code:
select employee.emp_name, employee.emp_lname, project.project_name
from employee, project,
(
select ep.emp_id, ep.pr_id from employee_project as ep,
(
select emp_id, count(pr_id) from employee_project
group by emp_id having count(pr_id) = 1
) CT
where CT.emp_id = ep.emp_id
) CK
where CK.emp_id = employee.emp_id and CK.pr_id = project.pr_id
Gibt es eine Möglichkeit, dies leicht zu tun.
Danke für Hilfe.
Ich glaube nicht. "distinct" gibt mir zuerst, aber nicht einzigartig. Ich brauche es nicht, wenn es noch einmal in der Tabelle ist. – Guja1501