替换SQL Server 2012中的XML数据

时间:2017-02-10 08:25:32

标签: sql xml sql-server-2012

我有一个请求用另一个表列值替换XML属性。目前我对如何进一步行动感到困惑。我做了一些调查,但没有一个似乎适用于我的场景。有人可以帮我解决这个问题。提前谢谢。

我有以下查询

DECLARE @XML XML
SET @XML = '<LookupSyndicationExportProfileData Id="-1" Name="">
  <LookupExportScopes IncludeAllLookup="False" IncludeAllLocale="False" GroupBy="ColumnName" FileFormat="Excel10">
    <Locales>
      <Locale PK_Locale="1" ShortName="English World Wide" LongName="" FK_Culture="0" FK_Region="0" FK_Lang="0" />
    </Locales>
    <LookupExportScope Id="0" Name="Brand" />
    <LookupExportScope Id="1" Name="BrandColor" />
    <LookupExportScope Id="2" Name="BrandType" />
  </LookupExportScopes>
</LookupSyndicationExportProfileData>'

SELECT 
    'tblk_' + N.C.value('@Name', 'nvarchar(100)') NAME,
    N.C.value('@Id', 'nvarchar(100)') Id, 
    ro.Pk_RST_Object 
FROM 
    @XML.nodes('//LookupExportScope') N(C) 
INNER JOIN 
    tb_RST_Object ro ON 'tblk_' + N.C.value('@Name','nvarchar(100)') = ro.Shortname

以下是上述查询的结果。

enter image description here

因此,我需要将带有Id属性的@XML变量更新为PK_RST_Object值。请让我知道我该怎么做。

0 个答案:

没有答案