<ps>
<p pdid="47" pv="x@xx.net" />
<p pdid="49" pv="07827100000" />
<p pdid="57" pv="dfdfdf Armstrong" />
<p pdid="29" pv="[(null)]" />
<p pdid="1" pv="[(null)]" />
<p pdid="39" pv="[(null)]" />
<p pdid="43" pv="[(null)]" />
<p pdid="5" pv="[(null)]" />
<p pdid="7" pv="[(null)]" />
<p pdid="9" pv="[(null)]" />
<p pdid="25" pv="[(null)]" />
<p pdid="37" pv="[(null)]" />
<p pdid="11" pv="[(null)]" />
<p pdid="15" pv="[(null)]" />
<p pdid="35" pv="[(null)]" />
<p pdid="13" pv="[(null)]" />
<p pdid="17" pv="[(null)]" />
<p pdid="41" pv="[(null)]" />
<p pdid="55" pv="[(null)]" />
<p pdid="21" pv="[(null)]" />
<p pdid="23" pv="[(null)]" />
<p pdid="31" pv="[(null)]" />
<p pdid="45" pv="[(null)]" />
<p pdid="53" pv="[(null)]" />
<p pdid="59" pv="[(null)]" />
<p pdid="63" pv="[(null)]" />
<p pdid="65" pv="[(null)]" />
<p pdid="67" pv="LDC Data" />
<p pdid="69" pv="[(null)]" />
<p pdid="70" pv="[(null)]" />
<p pdid="72" pv="12580672" />
<p pdid="74" pv="CA1" />
</ps>
上面的数据是 XML 格式的——所以我怎样才能得到 PDID =“67”的 PV 值——请记住 PDID 的 XML 位置不断地逐行变化。
我努力了
`
Select
iset.NAME AS Region
,iset.custom_f
,CASE WHEN REPLACE(iset.custom_f.value('(/ps/p/pdid="67"/@pv)[30]', 'varchar(80)'),'[(null)]','') <> '' THEN
REPLACE(iset.custom_f.value('(/ps/p/pdid="67"/@pv)[30]', 'varchar(80)'),'[(null)]','')
WHEN REPLACE(iset.custom_f.value('(/ps/p/pdid="67"/@pv)[31]', 'varchar(80)'),'[(null)]','') <> '' THEN
REPLACE(iset.custom_f.value('(/ps/p/pdid="67"/@pv)[31]', 'varchar(80)'),'[(null)]','')
WHEN REPLACE(iset.custom_f.value('(/ps/p/pdid="67"/@pv)[28]', 'varchar(80)'),'[(null)]','') <> '' THEN
REPLACE(iset.custom_f.value('(/ps/p/pdid="67"/@pv)[28]', 'varchar(80)'),'[(null)]','')
WHEN REPLACE(iset.custom_f.value('(/ps/p/pdid="67"/@pv)[29]', 'varchar(80)'),'[(null)]','') <> '' THEN
REPLACE(iset.custom_f.value('(/ps/p/pdid="67"/@pv)[29]', 'varchar(80)'),'[(null)]','')
END AS LeadSource
,iset.Source
,ISET.oc_id
,CASE WHEN ISNULL(ISET.app_id,'') <> '' THEN 1 ELSE 0
END app
from
intial_set iset
`
正如我提到的立场不断变化,所以我需要不知道如何应对