2012-04-03 2 views
0

기존 XML에서 XML을 생성하려고하지만 다른 테이블에서 값을 가져와야합니다. 예를 들어 나는 테이블에 XML을 다음 있습니다 :SQL 서버의 다른 테이블에서 업데이트 된 데이터 (값)가있는 하나의 테이블에서 xml을 선택하십시오.

EmployeeAccount 이제

ACCT_NUM Emp_Name 
1234  Kash 

이 형식을

<LABEL COLOR=RED> Account #: </LABEL> 
<VALUE> 1234 </VALUE> 
<LABEL COLOR=RED> Emp. Name: </LABEL> 
<VALUE> Kash </VALUE> 
다음의 XML을 생성한다 : 데이터

<LABEL COLOR=RED> Account #: </LABEL> 
<VALUE> ACCT_NUM </VALUE> 
<LABEL COLOR=RED> Emp. Name: </LABEL> 
<VALUE> Emp_Name </VALUE> 

표는 다음과 같습니다

이 작업을 수행하는 방법을 찾을 수 없습니다. 인터넷 검색 2 일. 내가 SQL 서버 2008

어떤 도움을 사용하고

... I이 사용했던

답변

0

...

`DECLARE @t TABLE (id INT, data XML) 
DECLARE @t2 TABLE (id INT, value varchar(50)) 

INSERT INTO @t (id, data) 
SELECT 1, 
' 
<data> 
    <label>1</label> 
    <value>test</value> 
</data> 
' 

INSERT INTO @t2 (id, value) 
SELECT 1, 'Kash' union all 
SELECT 2, 'Moeen' 

--Update value of an element in xml from other table 
UPDATE t1 
SET data.modify 
(
' 
replace value of (//value/text())[1] with sql:column("value") 
' 
) 
FROM @t t1 
INNER JOIN @t2 t2 on t1.id = t2.id 

SELECT data FROM @t 
` 
관련 문제