2014-12-19 3 views
-1

나는이 사실에 대해 내 사과로 시작해야하지만 실제로 네트워크 담당자가되어야합니다. 어쨌든 ... 내부 조인을 사용하여 몇 개의 테이블을 쿼리하여 항목에 변경 사항이있는 특정 시간에 항목에 할당 된 사람이 누구인지 찾으려고합니다.SQL 쿼리 - 이름 목록 선언

declare 문을 사용하여 이름 목록을 정의한 다음 다른 모든 변수를 쿼리하고 사용자가 내 선언에 나열한 사용자 중 하나와 같은시기를 선택하도록하십시오.

나는 아마도 테이블이라고 생각 했습니까? 지금까지 내가 재앙적인 결과로 시도한 것들이있다.

DECLARE @RG TABLE (AssignedTo VARCHAR(20)) 
SET @RG = ('FirstName1.LastName1', 'FirstName2.LastName2', 'FirstName3.LastName3'); 


DECLARE @RG TABLE (AssignedTo VARCHAR); 
INSERT INTO @RG VALUES ('FirstName1.LastName1'), ('FirstName2.LastName2'), ('FirstName3.LastName3'); 

아무도 멍청한 놈을 여기에서 도울 수 있습니까? 당신은 그들이 다른 테이블 내에 존재하는 하나 개의 테이블에서 특정 이름을 찾기 위해 노력하는 경우

+0

을 당신은 SE하지 않습니다 T는 테이블 변수의 값입니다. 다른 테이블과 동일하게 삽입합니다. "AssignedTo varchar (255)"열에 길이를 추가하면 두 번째 문이 올바르게 작동합니다. –

답변

0

,이 시도 :

SELECT yt.FirstName, yt.LastName 
FROM Your_table yt 
INNER JOIN Your_other_table yot on (yot.Firstname + ' ' + yot.LastName) = 
    (yt.FirstName + ' ' + yt.LastName) 

당신이 변수를 사용하여 특정 이름을 찾기 위해 원하는 경우,이 시도 :

여러 변수를 사용하여 특정 이름을 발견하고자하는 경우
DECLARE 
    @FullName VARCHAR(MAX) = 'Your Name' --This is your variable 
SELECT FirstName, LastName 
FROM Your_table 
WHERE (Firstname + ' ' + LastName) = @FullName 

,이 시도 :

DECLARE 
    @FullName1 VARCHAR(MAX) = 'Your Name' 
    @FullName2 VARCHAR(MAX) = 'Yourother Name' 
SELECT FirstName, LastName 
FROM Your_table 
WHERE (Firstname + ' ' + LastName) IN (
    @FullName1, 
    @FullName2 
) 
+0

불행히도 이름 목록은 테이블에 나타나지 않습니다. 그들은 일하는 사람들의 사용자 이름입니다. 변경된 시점에 해당 사용자를 기록합니다. 내가하려고하는 것은 특정 항목의 라이프 사이클에서 특정 시간에 특정 행동을 누가 구체적으로했는지를 찾는 것입니다. – NetworkGuy