Seite 1 von 1

SQL-Syntax für Array Referenz gesucht

Verfasst: Mo 21. Jan 2013, 12:56
von bestoeber
In einer Select-Sequenz möchte ich in einer Expression aAA(Haz) verwenden. aAA ist ein Array und Haz ein in der Abfrage berechneter Index. Ich finde in der Sql bzw Base Dokumentation keinen Hinweis darauf, wie dieser Ausdruck in SQL einzugeben ist. Ist es überhaupt erlaubt?
Über Hinweise würde ich mich freuen!
Bestoeber

Re: SQL-Syntax für Array Referenz gesucht

Verfasst: Mo 21. Jan 2013, 15:28
von RobertG
Hallo Bestoeber,

wo kommt denn der Inhalt des Arrays her? Im Base-Handbuch habe ich alle Funktionen und die gesamte SQL-Syntax der eingebauten HSQLDB aufgeführt. Arrays mit Indices kenne ich nur aus Programmiersprachen. In SQL bzw. Datenbanken sind ja eigentlich die Tabelleninhalte die Arrays.

Gruß

Robert

Re: SQL-Syntax für Array Referenz gesucht

Verfasst: Fr 25. Jan 2013, 11:22
von bestoeber
Hallo robertG,
Das Array kommt aus dem steuernden Base-Programm und enthält Faktoren, die abhängig vom errechneten Index, eingesetzt werden. Bisher
hatte ich das Problem mit choose gelöst. In einer Erweiterung wollte ich nun einen anderen Satz Faktoren wählen können. Darum das Array. In einer allgemeinen Beschreibung zu einem anderen SQL wurde erwähnt, dass bei Arrays eckige Klammern [] eingesetzt werden. Daher meine Frage.
mfg Bestoeber

Re: SQL-Syntax für Array Referenz gesucht

Verfasst: Fr 25. Jan 2013, 16:12
von RobertG
Hallo Betoeber,
bestoeber hat geschrieben: Das Array kommt aus dem steuernden Base-Programm und enthält Faktoren, die abhängig vom errechneten Index, eingesetzt werden.
Hier fangen für mich schon die Missverständnisse an. Meinst Du tatsächlich Base? Natürlich ist jede Tabelle in Base vom Prinzip her ein Array (1. Index ist der Primärschlüssel, 2. Index ist der Feldname). Mir scheint aber, dass Du von Basic schreibst (Makros).
bestoeber hat geschrieben:Bisher hatte ich das Problem mit choose gelöst.
"choose" gibt es nicht in einer HSQLDB, auch nicht in anderen Datenbanken. Den Befehl kenne ich aus dem ReportBuilder von Base, aus Calc oder aus Makros von LO.
bestoeber hat geschrieben:In einer allgemeinen Beschreibung zu einem anderen SQL wurde erwähnt, dass bei Arrays eckige Klammern [] eingesetzt werden.
Die eckigen Klammern wiederum kenne ich von PHP. Aber auch da haben die keinen Zusammenhang mit SQL, außer dass mit Hilfe von Arrays vielleicht ein Wert ausgesucht wird, der dann in der Abfrage landen soll - nie aber als Array.
Du siehst, mir ist das Ganze noch reichlich unklar. Die Arrays einer Datenbank sind nun einmal die Tabellen. Wenn eine Abfrage auf so ein Array zugreifen soll, dann sollte es also in einer Tabelle stehen. Dann ist das auch für die Abfrage ansprechbar.

Gruß

Robert