Hallo zusammen, danke für die Aufnahme und bitte entschuldigt gleich mal, wenn ich ein paar vermeintlich blöde Fragen stelle. Sollte ich im falschen Thema sein, bitte verschieben.
Ich habe eine Datenbank mit Autodaten, in der viele Autos fast identisch sind, bis auf die letzte Spalte, in der die Baujahre mit Komma getrennt stehen.
Am besten visualisiere ich das mal ganz einfach:
Opel Corsa 1.4 Benzin Kombi 90PS 2018
Opel Corsa 1.4 Benzin Kombi 90PS 2018, 2019
Opel Corsa 1.4 Benzin Kombi 90PS 2018, 2019, 2020
Da es neben den gezeigten Attributen noch viel mehr Spalten in der Datenbank gibt, in denen sich die Autos teilweise minimal unterscheiden, ist es keine Option (wie im Beispiel oben) einfach die ersten beiden Zeilen zu löschen.
Ich nutze ein Tabellen-Plugin mit Wordpress, welches auf einer Homepage via der $wpdb->get_results() Funktion bestimmte Zeilen aus der Tabelle zieht (Beispiel oben: Hersteller, Modell, Motorisierung, Kraftstoff, Bauart, Leistung, Baujahr) und diese dann visualisiert.
Die Spalte "Baujahr" ist für den Nutzer gar nicht sichtbar, aber wichtig, da man mittels eines Dropdowns nach Baujahr filtern kann. Somit muss der SQL Query auch Baujahr aus der Datenbank ziehen, wenn er die Tabelle erstellt.
Aktuell ist es so, dass der Nutzer, wenn er einen Corsa 1,4 aus dem Baujahr 2018 sehen will, 3 Zeilen mit komplett identischen Daten angezeigt bekommt. (siehe Beispiel-Datensatz oben).
Wählt er 2019, sind es immer noch 2 Zeilen. Und das ist eben unnötig, weil ja alle anderen Daten komplett gleich sind - er sollte also im Idealfall nur eine Zeile sehen.
Ich hoffe, bis hier ist das Problem verständlich.
Mein SQL Query im Wordpress Tabellen-Plugin sieht dann so aus:
SELECT Hersteller, Modell, Motorisierung, Kraftstoff, Bauart, Leistung, Baujahr
FROM Name_der_SQL_Tabelle
WHERE Baureihe='Corsa'
ORDER BY Baujahr DESC
In diesem Tabellen-Plugin stelle ich dann noch ein, dass er die Spalte "Baujahr" nicht zeigt und dass der User aus den kommagetrennten Werten per Dropdown nach einem Jahr filtern kann.
Was ich nun gerne hätte (hoffentlich ist das überhaupt per SQL möglich), wäre irgend ein Query-Zusatz (DISTINCT habe ich schon etwas angetestet, bisher erfolglos), der diese Dopplungen entfernt.
Gibt es sowas, oder muss ich das auf einer komplizierteren Ebene lösen?
Vielen Dank und liebe Grüße
Ich habe eine Datenbank mit Autodaten, in der viele Autos fast identisch sind, bis auf die letzte Spalte, in der die Baujahre mit Komma getrennt stehen.
Am besten visualisiere ich das mal ganz einfach:
Opel Corsa 1.4 Benzin Kombi 90PS 2018
Opel Corsa 1.4 Benzin Kombi 90PS 2018, 2019
Opel Corsa 1.4 Benzin Kombi 90PS 2018, 2019, 2020
Da es neben den gezeigten Attributen noch viel mehr Spalten in der Datenbank gibt, in denen sich die Autos teilweise minimal unterscheiden, ist es keine Option (wie im Beispiel oben) einfach die ersten beiden Zeilen zu löschen.
Ich nutze ein Tabellen-Plugin mit Wordpress, welches auf einer Homepage via der $wpdb->get_results() Funktion bestimmte Zeilen aus der Tabelle zieht (Beispiel oben: Hersteller, Modell, Motorisierung, Kraftstoff, Bauart, Leistung, Baujahr) und diese dann visualisiert.
Die Spalte "Baujahr" ist für den Nutzer gar nicht sichtbar, aber wichtig, da man mittels eines Dropdowns nach Baujahr filtern kann. Somit muss der SQL Query auch Baujahr aus der Datenbank ziehen, wenn er die Tabelle erstellt.
Aktuell ist es so, dass der Nutzer, wenn er einen Corsa 1,4 aus dem Baujahr 2018 sehen will, 3 Zeilen mit komplett identischen Daten angezeigt bekommt. (siehe Beispiel-Datensatz oben).
Wählt er 2019, sind es immer noch 2 Zeilen. Und das ist eben unnötig, weil ja alle anderen Daten komplett gleich sind - er sollte also im Idealfall nur eine Zeile sehen.
Ich hoffe, bis hier ist das Problem verständlich.
Mein SQL Query im Wordpress Tabellen-Plugin sieht dann so aus:
SELECT Hersteller, Modell, Motorisierung, Kraftstoff, Bauart, Leistung, Baujahr
FROM Name_der_SQL_Tabelle
WHERE Baureihe='Corsa'
ORDER BY Baujahr DESC
In diesem Tabellen-Plugin stelle ich dann noch ein, dass er die Spalte "Baujahr" nicht zeigt und dass der User aus den kommagetrennten Werten per Dropdown nach einem Jahr filtern kann.
Was ich nun gerne hätte (hoffentlich ist das überhaupt per SQL möglich), wäre irgend ein Query-Zusatz (DISTINCT habe ich schon etwas angetestet, bisher erfolglos), der diese Dopplungen entfernt.
Gibt es sowas, oder muss ich das auf einer komplizierteren Ebene lösen?
Vielen Dank und liebe Grüße