Mithilfe von xquery FLWOR-Ausdrücke zu finden, mehrere ", wo" Einschränkungen
Ich bin auf der Suche nach Mitarbeitern, die an Projekten arbeiten, befindet sich in Houston, doch die Abteilung, das Projekt befindet sich in befindet sich nicht in Houston. Ich habe versucht, das Modell der Ausdruck nach diese Beispiel für FLWOR-Ausdrücke, aber die Abfrage nichts zurückgibt, und es sollen Ergebnisse zurück.
edit: Hier ist der Eingang.
xquery
let $doc := doc("~path/company.xml")
for $e in $doc//employee,
$d in $doc//department,
$p in $doc//projects
where $d/locations[location!="Houston"]
and $p/project[plocations="Houston"]
return <e>{$e/fname}{$e/lname}{$e/address}</e>
/
- Du hast vergessen uns zu zeigen das XML-Dokument.
- Sorry ich habe den input-Datei.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer
for
Klausel ist genug; andernfalls werden Sie Durchlaufen alle Mitarbeiter mehrmals:Einem einzigen XPath 2.0-Ausdruck auswählen können, wollten alle Mitarbeiter:
Typo:
and $p/project[plocation="Houston"]
Sie hatte ein "s" zu viel: war
plocations
.distinct-values(query above)
aber es sagt, es ist ein syntax-error, aber es wird empfohlen es so zu tun von in diesem stackoverflow post.