简体   繁体   English

在具有多个值的XML列上联接表

[英]Join table on XML column with multiple values

I want to join the table fgz_merken from the table fgz_leveranciers . 我想加盟表fgz_merken从表fgz_leveranciers The table fgz_merken has a xml column lst_leveranciers . fgz_merken具有xml列lst_leveranciers At this moment I only get the record with only one value in the fgz_merken.lst_leveranciers . 目前,我只在fgz_merken.lst_leveranciers获得只有一个值的fgz_merken.lst_leveranciers Can you help me? 你能帮助我吗?

select
  fgz_leveranciers.adres,
  fgz_leveranciers.debiteurnr,
  fgz_leveranciers.fax,
  fgz_leveranciers.fax_jaarbeurs,
  fgz_leveranciers.id,
  fgz_leveranciers.import_leverancier_id,
  fgz_leveranciers.mailto,
  fgz_leveranciers.plaats,
  fgz_leveranciers.plaats_postadres,
  fgz_leveranciers.postadres,
  fgz_leveranciers.postcode,
  fgz_leveranciers.postcode_postadres,
  fgz_leveranciers.stand,
  fgz_leveranciers.tel,
  fgz_leveranciers.tel_jaarbeurs,
  fgz_leveranciers.title,
  fgz_leveranciers.vereniging,
  fgz_leveranciers.website,
  fgz_merken.title as MerkTitel 
from 
  fgz_leveranciers 
  left join fgz_merken on 
    fgz_merken.lst_leveranciers.exist('lst_leveranciers/lst_leveranciers[.=sql:column("fgz_leveranciers.id")]') = 1 
where 
  fgz_leveranciers.id != '0' 
  and fgz_merken.title like '%swa%' 
order by fgz_leveranciers.id

This is some data from fgz_merken.lst_leveranciers 这是来自fgz_merken.lst_leveranciers的一些数据

<lst_leveranciers>
  <lst_leveranciers>
    <value>125</value>
  </lst_leveranciers>
</lst_leveranciers>
<lst_leveranciers>
  <lst_leveranciers>
    <value>16</value>
    <value>40</value>
    <value>269</value>
  </lst_leveranciers>
</lst_leveranciers>
select
    fgz_leveranciers.*,
    xmldata.i
from
    fgz_leveranciers
    left join
    (                
        Select x.t.value('.','int') i
        from fgz_merken
            cross apply lst_leveranciers.nodes('lst_leveranciers/lst_leveranciers/value') as x(t)
      ) xmldata
    on fgz_leveranciers.i = xmldata.i

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM