Philipp Hasenfratz: sql like + tabellenfeld

Beitrag lesen

Halihallo Peter

folgendes problem zwei tabellen mit strings nun will ich alle einträge aus tabelle1 in denen ein teilweise ein eintrag aus tabelle2 drin vorkommt...also in der art :
select tab1.string from tab1,tab2 where tab1.string like "%tab2.string%" aber das funktioniert so nicht , ich nehme an da er tab2.string nicht als tabellenfeld interpretiert sondern als normalen string , aber wie kann ich das umgehen da ich die %-zeichen ja unbedingt in dem "like"-teil drin haben muß...

Versuch LIKE CONCAT("%", tab2.string, "%")

Du sollst jedoch darüber in Kenntnis gesetzt worden sein, dass dieser Query im höchsten
Masse aperformant ist! - LIKE "%...%" - Konstrukte sollten _ausschliesslich nur_ dann
verwendet werden, wenn es keine andere Lösung gibt.

S. Manual der Datenbank über ähnliche oder gleiche Anweisung wie CONCAT (hier MySQL).

Viele Grüsse

Philipp