2015-02-01 2 views
0

SQL 클래스를 가져오고 다음 중 하나와 같이 프로젝트에 하나씩 직원이있는 테이블을 생성하라는 과제 중 하나에 대해 설명합니다.SQL Server Management Studio : 다중 부분 식별자를 바인딩 할 수 없습니다.

create table [EMPLOYEE] 
(
    EmployeeID int identity(1, 1) primary key not null, 
    FirstName varchar(15) not null, 
    LastName varchar(15) not null, 
    Gender char(1) not null, 
    DOB date not null, 
    SSN char(9) not null 
) 

create table [PROJECT] 
(
    ProjectID int identity(1, 1) primary key not null, 
    Manager int not null, 
    PDescription varchar(50) not null, 
    PStatus varchar(20) not null, 
    StartDate date not null, 
    EndDate date not null 
) 

여기서 ManagerEMPLOYEE 엔터티의 ID입니다. 기본적으로 프로젝트는 직원에게 할당됩니다. 그래서, 일부 직원을 추가하고이 내가 관심이있는 한 직원이며, 그 EmployeeID은에 관해서는 2 될 수 있도록 삽입에 나는이 두 번째이다하고있어

insert into EMPLOYEE (FirstName, LastName, Gender, DOB, SSN) 
values ('Chuck', 'Carter', 'M', '07/14/1990', '444556666') 

프로젝트 프로젝트 :

insert into PROJECT (Manager, PDescription, PStatus, StartDate, EndDate) 
values (2, 'Submit source code for 3D racing game', 'In progress', '01/05/2015', '03/05/2015') 

insert into PROJECT (Manager, PDescription, PStatus, StartDate, EndDate) 
values (2, 'Test videogame for bugs', 'Not started', '03/05/2015', '05/05/2015') 

이 두 가지가 있어야하는데 위의 직원에 할당 된 사람, 모두 2에 대한 통지 관리자, 척의 EmployeeID 있습니다 2. 그래서,이 같은 직원의 이름을 표시하기로되어있어 두 개 이상의 프로젝트 (이 경우 Chuck)를 ​​할당받은 사람들의 성과 이름을 결합한 전체 이름.

는이 코드 작성 :

select 
    FirstName + LastName as FullName 
from 
    EMPLOYEE 
where 
    EmployeeID = PROJECT.Manager and count(PROJECT.Manager) >= 2 

을하지만 바로이 오류가 얻을 :

The multi-part identifier "PROJECT.Manager" could not be bound.

이 나는 ​​내부가 PROJECT 테이블을 인식 가입 할 건가요을? 하지만 저는 직원의 이름 만 표시하기로되어 있습니다. 어떻게 PROJECT.manager 열 값을 표시하지 않고 사용할 수 있습니까?

대단히 감사합니다.

+0

을 필터링하는 havingGroup by을 추가해야합니다. select 문에서 PROJECT 테이블을 식별하지 않으므로 where 절은 그것에 대해 알지 못합니다. –

답변

1

당신은, Project 테이블을 가입하면 가입해야하거나, 직원에서`PROJECT`를 수행 Manager

select FirstName +' '+ LastName as FullName 
from EMPLOYEE 
INNER JOIN PROJECT 
on EmployeeID = PROJECT.Manager 
group by FirstName +' '+ LastName 
Having count(PROJECT.Manager) >= 2 
+0

감사합니다! 그러나 이것을 공간과 분리하는 방법이 있습니까? – gfcf14

관련 문제