2012-04-03 74 views
0

我想从现有的XML生成XML,但值应该来自其他表。比如我有一个表下面的XML:从一个表中选择xml,使用来自sql server中另一个表的更新数据(值)

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

表的数据是这样的:

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

我找不到任何办法做这个af这两天使用Google。

我使用SQL Server 2008的

任何帮助......

回答

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 
` 
相关问题