SQL Abfrage über mehrere Tabellen?

1 Antwort

Na du must bei WHERE halt mit angeben, welches title Feld du durchsuchen willst. Also zum Beispiel:

WHERE excel.title LIKE

Allerdings wird das so auch nicht funktionieren, da die Tabellen wohl in keiner Beziehung zueinander stehen.

Dein Tabellendesign ist hier grundverkehrt. So was löst man mit einer einzigen Tabelle, die dann ein Feld wie type hat, was dann die Werte css, excel oder was auch inmer haben kann.

Woher ich das weiß:Berufserfahrung – Entwickle seit > 20 Jahren Anwendungen mit PHP.
iQa1x  31.01.2023, 19:50

Ergänzung: Mit dem Design des Fragestellers könnte man über Union nachdenken:

SELECT * FROM excel WHERE titel like '%verweis%' or tags like '%verweis%'
UNION
SELECT * FROM css WHERE titel like '%verweis%' or tags like '%verweis%'
2
Babelfish  31.01.2023, 19:53
@iQa1x

Ja, das ginge sicherlich. Sofern man aber Kontrolle über das Datenbank-Design hat, sollte man es aber lieber richt machen. Spätestens dann, wenn man wirklich mal einen JOIN braucht, wird die Performance mit der zusätzlichen UNION extrem schlecht.

1
iQa1x  31.01.2023, 20:10
@Babelfish

Natürlich, das ist keine Frage, so macht das Design nicht viel Sinn. Aber falls man halt die Struktur nicht ändern kann, ist das eine Lösung ;)

1