2012-03-27 2 views
0

"User"와 "EndpointSubnet"이라는 두 개의 테이블이 있습니다.두 테이블을 공통 속성으로 병합하는 방법은 무엇입니까?

  • USER 테이블, 즉 'UserKey', 'URI'및 'NextUpdateTS'
  • ENDPOINTSUBNET 테이블 즉 2 개 속성이 'SubnetIP'및 'NextUpdateTS를 3 개'특성을 가진다.

NextUpdateTS 속성은 두 테이블 모두에 공통입니다.

URI는 직원의 LoginId이며 SubnetIP는 해당 IP 주소입니다.

내가해야할 일은 공통 속성 ieNextUpdateTS를 사용하여 두 테이블을 병합하는 것입니다.

표는 같이해야합니다

UserKey | URI | SubnetIP | NextUpdateTS 

나는 쿼리를 작성했습니다. 그것은 출력을주고 있지만,이 쿼리 'SubnetIP'에 표시되지 않습니다

SELECT [URI],[UserKey],[NextUpdateTS] 
FROM [User] 
WHERE [NextUpdateTS] 
    IN(
    SELECT [NextUpdateTS] 
    FROM [User] 
    INTERSECT 
    (SELECT [NextUpdateTS] FROM [EndpointSubnet])) 

곳이 쿼리에 SubnetIP를 넣어하는 방법

+0

사용중인 SQL 언어를 분명히 말해야합니다. 네가 그랬다고 생각하지만 DarkGray가 그걸 없앴 았어? – AndreKR

+1

내가 볼 수있는 바로는 SQL Server를 의미하는 C# -4.0뿐이었습니다. @ user1280381에 오신 것을 환영합니다 stackoverflow. SQL 질문에는 항상 db 유형과 버전이 포함됩니다. db 엔진에는 많은 구문 차이가 있으므로 그래서 당신이 사용하고있는 것을 아는 것은 우리가 당신을 도울 수 있도록 도와줍니다. – Leigh

답변

0

간단한 가입이 아닌가 알려주세요?

SELECT [URI],[UserKey],[NextUpdateTS],[SubnetIP] 
FROM [User] 
JOIN [EndpointSubnet] ON [EndpointSubnet].[NextUpdateTS] = [User].[NextUpdateTS] 
+0

아니, 아니야 ....... –

+0

하지만 도와 줘서 고마워 ... 이걸로 끝냈어 ......... –

+0

어떤면에서 그렇지 않은가요? – AndreKR

0

어떤 DBMS를 사용하고 있습니까? MySQL의에서는 간단한 INNER JOIN 다음과 같습니다

SELECT u.URI, u.UserKey, es.SubnetIP, u.NextUpdateTS 
FROM User u 
INNER JOIN EndpointSubnet es ON u.NextUpdateTS = es.NextUpdateTS 

다른 DBMS가 약간 다를 수 있지만 매우 유사합니다.

+0

SQL Server 2008을 사용 중입니다 ... –

+0

그러면 위의 내용이 작동합니다. – anothershrubery

0

JOIN이 필요합니다.

SELECT UserKey, URI, SubnetIP, User.NextUpdateTS 
FROM User 
JOIN EndpointSubnet 
ON User.NextUpdateTS = EndpointSubnet.NextUpdateTS 

NextUpdateTS는 앞에 User.에 넣어 "모호한 열"에러를 방지한다. 이 두 테이블에 이름이있는 두 개의 열이 있습니다. 시스템은 항상 어떤 열을 표시하고 비교할 것인지를 알아야합니다.

+0

그것은 작동하지 않습니다 ... "모호한 열 이름 NextUpdateTS".... 발생 Visual Studio 2008 C#을 사용하여 ... 및 웹 응용 프로그램에서 일하고 있습니다 .... 경우 다른 구문이있는 경우 기음#? –

+0

답변을 업데이트했습니다. 나는 처음부터주의를 기울여야했다 :) – boisvert

관련 문제