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. 🤗

Abfrage für Mysql-DB

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
chemnitzer
Beiträge: 43
Registriert: Di 20. Jan 2015, 18:56
Wohnort: Hungen

Abfrage für Mysql-DB

Beitrag von chemnitzer » Mi 17. Mär 2021, 15:02

Hallo
ich habe eine Tabelle mit folgenden Textfeldern : Jahr , Monat , Ort. Die Werte wurden aus einer CSV-Stuktur des Windowsverzeichnis erstellt. Dadurch sind alle Werte mehrfach vorhanden. Wie kann ich folgendes umsetzen :
- Abfrage für einen Ort -> Anzeige jeder Ort erscheint nur einmal -> SELECT DISTINCT `ort` FROM `bilder1` WHERE 1 -> OK
- das Ergebnis wird im Formular in einer Tabelle angezeigt
- danach möchte ich für die Orte die Monate angezeigt bekommen aber jeden Ort nur einmal -> ???
- danach sollen die Jahre ´gefiltert werden als Kriterium gelten die gefundenen Monate

Zweck ist das ich meine Bilder ( welche schon geordnet auf der Festplatte liegen ) schneller finden kann. Es in DB noch weitere Spalten vorhanden ( Anlass[Geburtstag,Urlaub,Ausflug …; Bildpfad; Bildname; Aufnahmedatum]

Kann mir bitte jemand einen Vorschlag geben.

Danke im voraus.
Gruß Roland

bmk
Beiträge: 27
Registriert: Do 2. Nov 2017, 22:00

Re: Abfrage für Mysql-DB

Beitrag von bmk » Mi 17. Mär 2021, 16:49

Hallo,

wenn die Antworttabelle nur die Spalte 'Ort' enthält, liefert die DISTINCT-Klausel keine Duplikate für 'Ort', d.h. jeder Ort erscheint nur einmal.

Eine Abfrage mit 'Ort' und 'Monat' (z.B. SELECT DISTINCT `ort`, `monat` FROM `bilder1` WHERE 1 ) liefert alle möglichen Kombinationen für Ort und Monat, aber diese ohne Duplikate (d.h. nur einmal, auch wenn es Einträge für den gleichen Ort und Monat für mehrere Jahre gibt).
Dabei dürfen nur Ort und Monat selektiert werden; nimmt man noch Jahr hinzu, werden alle möglichen Kombinationen aus den drei genannten Spalten angezeigt.

Der Vorschlag wäre:

Aus der Ortsliste eine Ort auswählen und diesen als Kriterium in eine Abfrage einbauen:
(z.B. LO-Parameterabfrage SELECT DISTINCT `ort`, `monat` FROM `bilder1` WHERE `ort` = :Ort)

oder z.B. in einem Formular:

Die Ortsabfrage als Datenquelle für ein Listen- oder Kombofeld (Ortsliste) verwenden und mit dem gewählten Ort die weiteren Daten filtern; analog kann mit der Monats- und Jahresabfrage weiter gefiltert werden. Zu beachten ist

Grüße bmk

chemnitzer
Beiträge: 43
Registriert: Di 20. Jan 2015, 18:56
Wohnort: Hungen

Re: Abfrage für Mysql-DB

Beitrag von chemnitzer » Fr 19. Mär 2021, 20:20

Hallo bmk
Danke für die Infos. Ich habe sie für mich angepasst und getestet funktioniert. Da ich aber mehr Möglichkeiten in den Abfragen benötige muss ich wohl dir Abfrage über Makros machen wo der Abfragestring immer entsprechend formuliert wird. Aber Dein Ansatz hat mir einen Lösungsweg aufgezeigt. Wenn ich nochmal ein Problem habe melde ich mich wieder.

Grüße Chemnitzer

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