alwolf
I'm new here

ORA-918 in Query mit mehreren ORDERCRITERIA auf das gleiche Attribut

Guten Tag,

in einem Projekt habe ich eine Query die Werte einer Verknüpfungstabelle aufruft.

Produkt <---> Verknüpfung

Jede Verknüpfung hat 1 "incomming_product" und 2 ausgehende Produkte "outgoing_product" und "outgoing_product2".

Ein Produkt hat eine Position (Integer)

Nun möchte ich das Ergebnis sortieren

1. Nach der Position des "outgoing_product"

2. Nach der Position des "outgoing_product2"

Folgendermaßen sieht das dann in der Query aus:

<QUERY entityType="relation">

          <FILTERPARAM parameter="product_id" datatype="java.lang.Integer" value="666"/>

          <AND>

                         <EQ attribute="incommig_product.fs_id" parameter="product_id"/>

          </AND>

          <ORDERCRITERIA attribute="outgoing_product.position" descending="1"/>

    <ORDERCRITERIA attribute="outgoing_product2.position" descending="1"/>

</QUERY>

Jetzt wird es spannend:

Führe ich diese Query einzeln aus (In einer Abfragevorlage) bekomme ich eine Fehlermeldung:

Error code: 918, state: 42000. Dahinter verbirgt sich eine ORA-Exception (Caused by: java.sql.SQLSyntaxErrorException: ORA-00918: column ambiguously defined)

Grandioserweise funktioniert die Query sehr wohl innerhalb meiner Vorlagen, der Fehler tritt nur in der Abfragevorlage auf. Falls es dafür keine Erklärung gibt, werde ich es als BUG einreichen.

0 Kudos
4 Replies
Peter_Jodeleit
Crownpeak employee

Eigentlich dürfte das in keinem Fall funktionieren, eine Sortierung nach dem identischem Attribut über zwei verschiedene Kanten wird nicht unterstützt. Der Fall wo es funktioniert ist eine Seitenprojektion? Da wird die Sortierung seperat spezifiziert, das würde das unterschiedliche Verhalten erklären.

Peter
0 Kudos

Nein es ist eine ganz normale Seitenvorlage. Zumindest ist die Sortierung in jenem Fall wie erwartet und es gibt keine Fehler in der Vorschau oder beim Generieren. Aber gut - dann muss die Sortierung in diesem Fall wohl via Scripting stattfinden.

0 Kudos

Nein es ist eine ganz normale Seitenvorlage.

Und wie wird da die Abfrage angesprochen?

Unabhängig davon solltest du kontrollieren, ob da wirklich die von dir gewünschte Sortierung vorliegt, oder ob das nur zufällig übereinstimmt.

Mit "Seitenprojektion" meinte ich übrigens eine Seite in der Strukturverwaltung, wo die Abfrage referenziert wird (siehe diesen Link, im 3. Screenshot sieht man im unteren Bereich "Sortierung", dies überschreibt die Sortierung der Abfrage in der Vorlagenverwaltung).

Peter
0 Kudos

Hallo Alexander,

ist dieses Posting noch aktuell? Benötigst du noch weitere Hilfe oder konnten dir Peters Antworten bereits weiterhelfen? In diesem Fall wäre es super, wenn du seine "richtige Antwort" entsprechend markierst.

Solltest du zwischenzeitlich eine eigene Lösung gefunden haben, wäre es toll, wenn du diese hier bereitstellst.

Viele Grüße

Michaela

0 Kudos