2012-04-03 6 views
0

Ich möchte XML aus vorhandenen XML generieren, aber Werte sollten von einer anderen Tabelle stammen. Zum Beispiel haben folgende I xml in einer Tabelle:Wählen Sie XML aus einer Tabelle mit aktualisierten Daten (Werte) aus einer anderen Tabelle in SQL Server

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

Tabelle für Daten wie folgt aussieht:

EmployeeAccount

ACCT_NUM Emp_Name 
1234  Kash 

Nun sollte es xml erzeugen im Format folgenden

<LABEL COLOR=RED> Account #: </LABEL> 
<VALUE> 1234 </VALUE> 
<LABEL COLOR=RED> Emp. Name: </LABEL> 
<VALUE> Kash </VALUE> 

Ich kann keinen Weg finden, dies af zu tun nach zwei Tagen Googeln.

I SQL Server 2008.

jede Hilfe ...

Antwort

0

ich getan habe dies mit ...

`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 
` 
bin mit