BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[gelöst] SQL: ORDER BY sortiert eigentümlich

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Pit Zyclade
Beiträge: 2674
Registriert: Mo 12. Nov 2012, 16:59

[gelöst] SQL: ORDER BY sortiert eigentümlich

Beitrag von Pit Zyclade » Do 27. Apr 2023, 11:20

Hallo Experten !
Mein Ziel ist ein schneller Abgleich zwischen eine Liste von Verzeichnissen (mit Musiktiteln) unter win11 und dieser Liste in einer base-Abfrage.

Ich habe schon gedacht, ich könnte mittels LOWER oder UPPER die Unterschiede umgehen, aber das erbrachte keine Lösung.

SELECT "ID" AS "ID", "Ordner" AS "Ordner", ... , UPPER ( "Ordner" ) AS "Sortiert" FROM "Musik - mp3 flac wma" ORDER BY "Sortiert" ASC

Aus der Base-Abfrage kommt folgende Sortierung heraus :
...
All meine Gedanken die ich hab
A mesterprimás Lakatos Sándor
A mi Utcánk
Andrés Segovia CD 1
...

Aus dem win11-Ordner wird aufsteigend sortiert:
...
A mesterprimás Lakatos Sándor
A mi Utcánk
ABBA - The Definitive Collection CD 1 - 129 - wma
...

Die Sortierung A Leerstelle m wird in Base als "Am" gewertet, also nach "All" und vor "And"
im Win-System hingegen als "A " und kommt folglich vor "AB" vor.
Also Leerstellen werden bei ORDER BY nicht gewertet. Das führt zu einer falsche empfundenen Sortierung.

Wie kann ich mittels SQL eine gleichartige Sortierung erreichen, damit mir ein optischer Vergleich schneller gelingt?
Zuletzt geändert von Pit Zyclade am Sa 29. Apr 2023, 14:12, insgesamt 1-mal geändert.
LO 7.5.8.2 (X86_64) / AOO 4.1.14 / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: SQL: ORDER BY sortiert eigentümlich

Beitrag von RobertG » Do 27. Apr 2023, 15:29

Welche Datenbank liegt denn darunter?

Wenn ich das recht in Erinnerung habe, dann ignoriert die alte HSQLDB die Leerstellen und zieht den Text entsprechend zusammen.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Pit Zyclade
Beiträge: 2674
Registriert: Mo 12. Nov 2012, 16:59

Re: SQL: ORDER BY sortiert eigentümlich

Beitrag von Pit Zyclade » Fr 28. Apr 2023, 17:06

Ja, es ist eine eingebaute HSQLDB. Aber für die paar kleinen privaten Sachen wollte ich mich nicht noch auf fremdes Eis begeben.
Momentan habe ich auch noch zwei Baustellen:
1. Ein neues Navi, weil mein altes zwar noch funktioniert, jedoch keine neuen Karten(updates) mehr erhältlich sind.
2. Stichwortverzeichnisse auf Basis Konkordanzdatei zicken neuerdings. Und da hatte ich mich mal eingebracht, muss also Lösungen finden.

Alles schwierig...

Danke für deinen Hinweis!
Zuletzt geändert von Pit Zyclade am Sa 29. Apr 2023, 12:57, insgesamt 1-mal geändert.
LO 7.5.8.2 (X86_64) / AOO 4.1.14 / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

Wanderer
Beiträge: 895
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: SQL: ORDER BY sortiert eigentümlich

Beitrag von Wanderer » Sa 29. Apr 2023, 09:07

Du könntest erst alle Leerzeichen durch z.B. Unterstriche ersetzen also so etwas wie

Code: Alles auswählen

ORDER BY UPPER(REPLACE("Ordner", ' ', '_'))
Ich habe nicht nachgesehen, welche String-Funktionen bei HSQLDB zur Verfügung stehen. REPLACE ist also eventuell falsch.
Update: Hier aber enthalten:
https://hsqldb.org/doc/2.0/guide/builti ... chapt.html

Man kann auch einen Index mit solchen Ausdrücken erzeugen, wenn die Perfomance sonst zu sehr leidet ...

PS: Natürlich musst Du die Windows- Pfade dann auch entsprechend bearbeiten, wenn Du direkt via Base vergleichen willst...
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

Pit Zyclade
Beiträge: 2674
Registriert: Mo 12. Nov 2012, 16:59

Re: SQL: ORDER BY sortiert eigentümlich

Beitrag von Pit Zyclade » Sa 29. Apr 2023, 13:52

Hallo @Wanderer

Dein Hinweis war der Beste! Ich habe jetzt erst einmal noch einfacher ohne UPPER gearbeitet
ORDER BY ( REPLACE( "Ordner", ' ', '_' ) ) ASC
funktioniert bei mir.

Wobei ich micht frage, warum dass nicht bereits im Programm/in der Software/in der Version berücksichtigt wurde.
LO 7.5.8.2 (X86_64) / AOO 4.1.14 / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten