У меня есть MySQL Column, называемый Data, тип поля = LongBlob.Там у меня есть XML-документ для каждого поставщика.Сохраненный XML-документ выглядит следующим образом:
<BarcodeList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Clientgroups>
<clientgroup clientgroupID="0" />
</Clientgroups>
<Articles>
<Article articleID="HS1" articleName="Air HG">
<Configuration>
<Feature selectedValue="846566843718" templateID="UpcCode" />
<Feature selectedValue="14.2" templateID="Diameter" />
<Feature selectedValue="8.6" templateID="RadiusBasecurve" />
</Configuration>
</Article>
</Articles>
</BarcodeList>
Конечно, в моих реальных данных есть много статей в этом XML-файле.Теперь я получаю ввод: «846566843718» и мне нужны Diameter, RadisuBaseCurve и articleID.Как мне этого добиться?
MySQL Server Version: 5.7 Я попробовал некоторый код SQL, но он выполняется более 1 минуты и безрезультатно.
SELECT * FROM xmldata s WHERE EXTRACTVALUE(s.Data, "//Feature[@selectedValue='846566843718']");
И:
SELECT * FROM xmldata s WHERE EXTRACTVALUE(s.Data, "/BarcodeList/Articles/Article/Configuration/Feature/selectedValue='846566843718']");