2016-06-15 2 views
0

아마도 매우 기본적인 질문입니다. 두 테이블 (SQL Server 2012) 이벤트사용자 정보. 첫 번째 테이블에 'xyz'라는 사용자 로그인이있는 열이 있습니다. 두 번째 컬럼은 동일한 사용자 ID를 갖는 'xyz', 'xyz-a', 'xyz-b'등의 사용자 로그인이있는 컬럼이 있습니다.두 개의 열을 공통 값으로 일치시키고 유사한 값을 가져옴

두 번째 테이블에 접미사가있는 사용자 로그인이 있거나없는 경우 일부 플래그를 적절히 설정해야합니다. 어떻게 가져올 수 있습니까?

많은 도움을 주셔서 감사합니다. 고마워요 !! "-"아래 할 수있는 두 번째 테이블에서 구분 기호는 항상 당신처럼 사용할 수

+0

가져올 수있는 방법은 무엇입니까? 아마도'SELECT * FROM [User Details] WHERE column_name LIKE 'xyz- %' –

+0

어떻게 가져올 수 있습니까? 아마'SELECT * FROM [사용자 정보] WHERE column_name LIKE 'xyz - %'' –

답변

1

는 조건 CONCAT (가) 경우

SELECT * FROM Events a INNER JOIN User_Details B ON a.userlogins LIKE CONCAT(B.username, '%'); 
0

가입 할 수 있습니다. case 문은 먼저 문자열에 "-"가 있는지 확인하고, 대시 왼쪽에 만 표시합니다. 대시가 없으면 전체 로그인을 찾습니다.

SELECT * 
FROM 
    EventsTable E 
    JOIN UserDetailsTable U 
     ON E.LoginID = CASE WHEN CHARINDEX('-',U.LoginID) > 0 THEN LEFT(U.LoginID,CHARINDEX('-',U.LoginID)-1) ELSE U.LoginID END