Access Denied / GROUP_CONCAT Problem in LibreOffice

Symberia

Neuer Benutzer
Beiträge
2
Hi zusammen,

das ist ehrlich gesagt das erste Mal, daß ich mich an ein Forum wende. Ich weiß aber nicht mehr weiter und stehe kurz vor der Verzweiflung.

Ich habe mit LibreOffice Base eine Film-Datenbank erstellt. Nun möchte ich, dass man aus der Tabelle tblSubGenre mehrere Werte auswählen kann und diese in ein Feld ("SubGenre") in die Haupttabelle (tblMovies), mit Kommas getrennt, geschrieben werden. Da es sich um eine n:m Beziehung handelt, habe ich eine Tabelle ("reltblMov_SubGnr") mit je einem Fremdschlüssel beziehend auf die IDs von "tblSubGenre" und "tblMovies".

"reltblMov_SubGnr"
________________________
| MoviesFK | SubGnrFK |
| 0001 | 212 |
| 0001 | 219 |
| 0002 | 230 |


In die Haupttabelle:
________________________
| MovieID | SubGenre |
| 0001 | 212, 219 |
| 0002 | 230 |

Selbstverständlich wird Die ID bei SubGenre mit den Namen ausgetauscht, was ohne CONCAT auch funktioniert.

Nach tagelangen Tüfteln, verursachte der Code endlich keine Fehler mehr.
Und das war folgender Code:

Code:
SELECT "reltblMov_SubGnr"."MID_FK",     
    GROUP_CONCAT
    (
        "pitblSubGenres"."SubGenre" desc SEPERATOR ", "
    )
AS "Sub Genre"
FROM
    { oj "reltblMov_SubGnr"
        RIGHT OUTER JOIN "tblMovies"
            ON "reltblMov_SubGnr"."MID_FK"
            = "tblMovies"."MID"
        RIGHT OUTER JOIN "pitblSubGenres"
            ON "reltblMov_SubGnr"."SubGnrID_FK"
            = "pitblSubGenres"."SubGnrID"
    }
GROUP BY "MID_FK"´

Dafür bekam ich nun eine neue Meldung, die mir bis heute schlaflose Nächte bereitet:

Access is denied: GROUP_CONCAT in statement [
SELECT "reltblMov_SubGnr"."MID_FK",
GROUP_CONCAT
(
"pitblSubGenres"."SubGenre" desc SEPERATOR ", "
)
AS "Sub Genre"
FROM
"reltblMov_SubGnr"
RIGHT OUTER JOIN "tblMovies"
ON "reltblMov_SubGnr"."MID_FK"
= "tblMovies"."MID"
RIGHT OUTER JOIN "pitblSubGenres"
ON "reltblMov_SubGnr"."SubGnrID_FK"
= "pitblSubGenres"."SubGnrID"

GROUP BY "MID_FK"´

Alles andere funktioniert!
Ich habe schon einiges versucht, z.B.:
  • Via Terminal/Homebrew MySQL frisch installiert
  • Privilegien geändert
  • MAMP deinstalliert
  • Schreib-/Leserechte geändert
Und es hat nichts gebracht. LibreOffice bleibt stur.

Hier erst einmal ein paar technische Daten:
  • MAC OS X 10.11.6 El Capitan
  • LibreOffice 7.2.1.2
  • MySQL Community Server 8.0.0.0

Leider sind meine Kenntnisse noch auf Amateur-Basis, also wenn ich hier wichtige Informationen vergessen habe, einfach Bescheid geben.
Es mag auch möglich sein, dass ich den Wald vor lauter Bäumen nicht mehr sehe.

Bin für jede Hilfe dankbar
 
Werbung:

dabadepdu

Datenbank-Guru
Beiträge
680
Access denied ist ein Rechteproblem, Grants / Privileges überprüfen. Notfalls die Tabellen dazu einzeln abfragen und schauen, welche Tabelle nicht erreichbar ist.
Komma separierte Werte in eine Spalte zu schreiben ist nicht angesagt. Damit kann man per SQL nicht so wirklich was anfangen. Gute DB kriegen das auch hin, aber es ist alles andere als State of the Art.
 

Symberia

Neuer Benutzer
Beiträge
2
Ihr seid ja der Burner... ich habe den Beitrag doch eben erst geschrieben :D

Es geht tatsächlich nur um die Ausgabe, welche nur im Formular in der Art erscheinen soll. Ich weiß auch, dass man das eigentlich nicht machen sollte. Daher hatte ich mir auch Gedanken über Alternativen gemacht. Nichts aber passte in das Konzept, Ich habe nun auch schon einige Stunden investiert und bin dann umso verbissener.
Das es was mit Zugriffsrechten, Privilegien, etc. zu tun haben muss, war mir auch auf Anhieb klar. Aber das man mal die Tabellen einzeln abfragen könnte, kam mir nicht in den Sinn :rolleyes:

Danke schonmal - vor allem für die schnelle Antwort

Ich werde euch natürlich auf dem Laufenden halten ...
 
Werbung:

dabadepdu

Datenbank-Guru
Beiträge
680
allerdings will er das in diesem Falle als Ergebniss haben, als Aggregation
Ja, vielleicht
Es geht tatsächlich nur um die Ausgabe, .. auch Gedanken über Alternativen gemacht. Nichts aber passte in das Konzept
Klingt gut
Ich hatte einfach nur gelesen:
In die Haupttabelle:
________________________
| MovieID | SubGenre |
| 0001 | 212, 219 |
| 0002 | 230 |
Eine Aggregation vielleicht, aber in der "Haupttabelle"?

Es spricht nichts gegen Aggregationen, auch nicht CSV, obwohl es bessere Möglichkeiten gibt. Aber nicht in eine Tabelle hinein, nur als Ergebnis eines Select Statements, das adhoc die aktuelle Aggregation darstellt und kurzfristig meinetwegen auch weiter nutzt.
Vielleicht habe ich es falsch verstanden, aber es kommt mir etwas seltsam vor.
 
Oben