Ben "John Doe" yazar kitap ve dergilerin başlığını dönmek gerekiyor, ama benim xml dosyası olarak ayarlandı:XQuery'de bir where cümlede OR kullanmak mümkün mü?
<library>
<book>...</book>
<article>...</article>
</library>
toplam 6 kitap ve dergiler bulunmaktadır.
Bu SQL olsaydı ben böyle bir şey yapabileceğini biliyorum:
SELECT title
FROM library
WHERE bookauthor = "John Doe" OR articleauthor = "John Doe"
(veritabanı normalize olmaz ama ben yapmam gerekeni biliyorum göstermeye çalışıyorum o XQuery) ile
aşağıdaki çalıştı ve bana 6 başlıkları döndürdüğünü sadece emin:for $x in doc("xmldata.xml")/library
let $a := $x/article
let $b := $x/book
return ($a/title, $b/title)
Ama emin olduğum şey nerede yan tümce ile yapmak. Benzer şekilde aşağıdaki ve aynı noktada saplanıp çalıştı:
for $x in doc("xmldata.xml")/library
return ($x/article/title, $x/book/title)
ben sadece 1 kitap ve 1 makale dönmelidir rağmen fıkra hala 6 girişler verdiği yerde bir de ekleme girişiminde:
for $x in doc("xmldata.xml")/library
where $x/article/author = 'John Doe'
where $x/book/author = 'John Doe'
return ($x/article/title, $x/book/title)
Herhangi biri bana yardım edebilir mi lütfen? Belki beni doğru yöne işaret ederek veya yanlış gittiğime işaret ederek.
Tam XML dosyası:
<library>
<book>
<author>John Doe</author>
<title>Turnitin</title>
</book>
<article>
<author>John Doe</author>
<title>Evaluating</title>
</article>
<article>
<author>Shannon, L.</author>
<title>Reconceptualising</title>
</article>
<book>
<author>Burden, David</author>
<title>An evaluation</title>
</book>
<article>
<author>Moscrop, C.</author>
<title>Evaluating a systematic method</title>
</article>
<book>
<author>Beaumont, C.</author>
<title>Beyond e-learning</title>
</book>
</library>
eşdeğerdir? Son sorgunuzda yanlış bir şey göremiyorum. – wst
Kaynak XML'i şimdi gönderinin altına ekledim, teşekkürler! – user2633709