2012-10-04 7 views
0

을 감안할 때 두 테이블 : 나는 그런 방식으로 하나의 문으로 T2T1에서 모든 데이터를 삽입하려면 어떻게여러 열

T1(EntityID int , EmailAddress varchar(55),MaxNumberOfConnections int)

T2(EntityID int , EntityAttributes XML)

모든 열에서 T1 (모두 EntityID 제외)은 T2에있는 하나의 XML 열로 변환됩니다.

T1(1,'[email protected]',454) 

T2(1, '<Attributes> 
      <Attribute EmailAddress="[email protected]"> 
      <Attribute MaxNumberOfConnections ="454"> 
     </Attributes>') 
+0

은 XML이 정확히에있을 필요합니까 체재? Element 요소를 재사용하지만 다른 속성을 사용하면 동일한 이름에 대해 다른 정의를 제공하게됩니다. 여러 속성 (필드 용)이있는 단일 Attribute 요소로 결합하거나 EmailAddress, MaxNumberOfConnections 등의 요소를 사용할 수 있습니까? –

+0

XML 스키마는 여기에 표시된 것과 정확히 같을 필요는 없습니다. – mcl

+0

그런 다음 정확한 스키마를 게시하십시오. 그런 다음 어떻게 정확한 대답을 얻을 것으로 기대하십니까? – Yaroslav

답변

1

여기 내 의견에 따라이 개 솔루션입니다 - 여러 속성을 싱글 "속성"요소 : 각 필드에 대한

SELECT 
    EntityId, 
    (
     SELECT 
      EmailAddress AS [Attribute/@EmailAddress], 
      MaxNumberOfConnections AS [Attribute/@MaxNumberOfConnections] 
     FROM 
      T1 i 
     WHERE 
      i.EntityId = o.EntityId 
     FOR XML PATH('Attributes') 
    ) AS EntityAttributes 
FROM 
    T1 o 

개별 요소 :

SELECT 
    EntityId, 
    (
     SELECT 
      EmailAddress, 
      MaxNumberOfConnections 
     FROM 
      T1 i 
     WHERE 
      i.EntityId = o.EntityId 
     FOR XML PATH('Attributes') 
    ) AS EntityAttributes 
FROM 
    T1 o