Seite 1 von 1

Abfrage für Mysql-DB

Verfasst: Mi 17. Mär 2021, 15:02
von chemnitzer
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

Re: Abfrage für Mysql-DB

Verfasst: Mi 17. Mär 2021, 16:49
von bmk
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

Re: Abfrage für Mysql-DB

Verfasst: Fr 19. Mär 2021, 20:20
von chemnitzer
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