🙏 Helfen Sie mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
[gelöst] SQL: ORDER BY sortiert eigentümlich
-
- * LO-Experte *
- Beiträge: 3041
- Registriert: Mo 12. Nov 2012, 16:59
[gelöst] SQL: ORDER BY sortiert eigentümlich
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?
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 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Re: SQL: ORDER BY sortiert eigentümlich
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
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
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
-
- * LO-Experte *
- Beiträge: 3041
- Registriert: Mo 12. Nov 2012, 16:59
Re: SQL: ORDER BY sortiert eigentümlich
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!
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 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Re: SQL: ORDER BY sortiert eigentümlich
Du könntest erst alle Leerzeichen durch z.B. Unterstriche ersetzen also so etwas wie
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...
Code: Alles auswählen
ORDER BY UPPER(REPLACE("Ordner", ' ', '_'))
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
-
- * LO-Experte *
- Beiträge: 3041
- Registriert: Mo 12. Nov 2012, 16:59
Re: SQL: ORDER BY sortiert eigentümlich
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.
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 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.