LO 6.4 MarisDB abfrage mit LIKE

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

chemnitzer49
Beiträge: 2
Registriert: Fr, 20.11.2015 14:04

LO 6.4 MarisDB abfrage mit LIKE

Beitrag von chemnitzer49 » Di, 24.03.2020 02:22

Hallo
ich bin nach langer Zeit und als Neuling wieder dabei meine DB weiter zu bearbeiten und brauch Eure Hilfe dazu.
In einer Tabelle mit einen Datensatz werden Werte als Text wie []ahr],[Monat],[Ort] u.ä. eingetragen. Die zweite Tabelle enthält mehere Datensätze, welche außer den obigen noch weitere Felder hat (Bildpfad,Bildname u.s.w.)
Hier jetzt die Query, welche auch funktioniert:
SELECT * FROM "dbbilder"."bilder1", "dbbilder"."filter_jahr_monat" WHERE LOWER ( "filter_jahr_monat"."fjahr" ) LIKE LOWER ( "jahr" )
diese soll aber mit '%' ( wildcard) bei ( "filter_jahr_monat"."fjahr" ) ergänzt werden, damit auch bei unvollständiger Eingabe in
filter_jahr_monat.fjahr z.B.: filter_jahr_monat.fjahr ='19' die Selection für 1900 bis 1999 geht.
Den Platzhalter hatte ich schon an verschiedenen Stellen aber keine Lösung.
Ich hoffe es gibt da eine Lösung.
MfG
von chemnitzer49

RobertG
*******
Beiträge: 1830
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: LO 6.4 MarisDB abfrage mit LIKE

Beitrag von RobertG » Di, 24.03.2020 09:39

Hallo chemnitzer49,

zunächst einmal drehe ich die Abfrage etwas um:

Code: Alles auswählen

SELECT * 
FROM "dbbilder"."bilder1", "dbbilder"."filter_jahr_monat"
WHERE LOWER ( "jahr" ) LIKE LOWER ( "filter_jahr_monat"."fjahr" )
In dem Feld "jahr" steht doch das, aus dem der entsprechenden Teil ausgesucht werden soll.

Code: Alles auswählen

SELECT * 
FROM "dbbilder"."bilder1", "dbbilder"."filter_jahr_monat" 
WHERE LOWER ( "jahr" ) LIKE '%'||LOWER ( "filter_jahr_monat"."fjahr" )||'%'
geht leider in MySQL nicht, weil die Verknüpfung von Inhalten nur über CONCAT läuft.

Code: Alles auswählen

SELECT * 
FROM "dbbilder"."bilder1", "dbbilder"."filter_jahr_monat" 
WHERE LOWER ( "jahr" ) LIKE CONCAT('%', LOWER ( "filter_jahr_monat"."fjahr" ), '%')
Dies dürfte vermutlich funktionieren.

Gruß

Robert

chemnitzer49
Beiträge: 2
Registriert: Fr, 20.11.2015 14:04

Re: LO 6.4 MarisDB abfrage mit LIKE

Beitrag von chemnitzer49 » Di, 24.03.2020 19:24

Hallo Robert
Vielen Dank für die Lösung -> sie funktioniert. Warst ja super schnell.
Wo kann man Hilfe über die SQL-Anweisungen in MySQL finden ? Ich habe da noch XAMPP instaliert und versuche das über PHPAdmin herauszufinden.

Nochmals vielen Dank.
Gruß
Roland

RobertG
*******
Beiträge: 1830
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: LO 6.4 MarisDB abfrage mit LIKE

Beitrag von RobertG » Di, 24.03.2020 20:24

Hallo Roland,

ich würde für die Grundlagen erst einmal bei Base das Handbuch nutzen. Natürlich sind die Befehle nicht alle identisch. Gerade das mit dem Concat geht z.B. in der HSQLDB nicht so. Da kannst Du so nur 2 Elemente verbinden. Stattdessen eben das mit dem || oder mit +.

Ansonsten nutze ich hier ein recht altes Buch zu MySQL und schlage ansonsten bestimmte Befehle direkt auf der Homepage von MySQL nach. Da unterschiedet sich ja für mich noch nichts merklich, wenn ich MySQL oder MariaDB nutze.

... und ansonsten einfach hier fragen.

Gruß

Robert

Antworten