Peter: sql like + tabellenfeld

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

  1. 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

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. 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

      1. 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 -->

        1. 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

          --
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
          1. 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

            1. 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

              --
              X-Will-Answer-Email: No
              X-Please-Search-Archive-First: Absolutely Yes