sql like + tabellenfeld
Peter
- datenbank
hallo,
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ß...
gruss
Peter
Hi,
aber das funktioniert so nicht , ich nehme an da er tab2.string nicht als tabellenfeld interpretiert sondern als normalen string
korrekt.
aber wie kann ich das umgehen da ich die %-zeichen ja unbedingt in dem "like"-teil drin haben muß...
Finde heraus, welcher Operator in Deinem DBMS - welches immer das sein mag - zur Stringverknüpfung dient.
Cheatah
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
Halihallo Cheatah
[...]
sorry, das war nicht an dich gerichtet Cheatah :-)
Viele Grüsse
Philipp
<!-- der es unterlassen sollte, Nachrichten zu verfassen, dann neue zu lesen und dann
zu posten -->
Hi,
sorry, das war nicht an dich gerichtet Cheatah :-)
das dachte ich mir schon ;-) Ich frage mich nur, weshalb Du eine von vielen denkbaren Lösungen lieferst, von denen alle bis auf (vermutlich) eine falsch sind.
Cheatah
Halihallo Cheatah
sorry, das war nicht an dich gerichtet Cheatah :-)
das dachte ich mir schon ;-) Ich frage mich nur, weshalb Du eine von vielen denkbaren Lösungen lieferst, von denen alle bis auf (vermutlich) eine falsch sind.
Bitte was? - Du stellst die Lösung über LIKE CONCAT in Abrede oder habe ich dich miss-
verstanden?
Viele Grüsse
Philipp
Hi,
Bitte was? - Du stellst die Lösung über LIKE CONCAT in Abrede oder habe ich dich miss-
verstanden?
woher willst Du wissen, ob sein DBMS das kann, wenn Du nicht mal weißt, welches DBMS es ist?
Cheatah