MySql LIKE soll Query-Daten vergleichen

  • Hi,

    ja, ich hab zu Silvester nix besseres zu tun als zu coden... mein Problem is folgendes:

    Ich hab ein Query, das vereinfacht so aussieht:

    SELECT
    f.*,
    t.*
    FROM
    table1 AS f
    JOIN LEFT
    table2 AS u
    ON f.tid = u.tid AND t.users LIKE('%.f.uid.%')

    die Abfrage t.users LIKE('%.f.uid.%') erzielt genau garkein Ergebnis (also es verändert nichts ... wie müssen Sachen aus einem Query einer LIKE abfrage übergeben werden damits geht ? (PS: die Prozent-Platzhalter sind unbedingt dazu erforderlich...)

    Lg

    PHP
    if(isset($this) || !isset($this)){ // that's the question...

    2 Mal editiert, zuletzt von Teron Gerofied (1. Januar 2011 um 13:45)

  • also ich hab sowas noch nich probiert, aber so prüfst du ja nach nem string der so aussieht:

    *irgendwat*f.uid*irgendwat*

    probier ma LIKE('%'||f.uid||'%') oder setz nen anständigen string via php ein :)

  • Erstmal sorry fürs Posten ins falsche Forum ^^

    Ich werd deinen Lösungsvorschlag mal probieren ... hab gestern noch Google durchforstet aber diese Art Like zu verwenden dürfte tatsächlich nicht häufig genutzt werden.


    EDIT:

    Wichtige Anmerkung noch: die zwei Punkte vor und hinter f.uid sind bestandteil der Suche von Like, keine PHP String-Zusammenhänge !


    IDEE:
    Vielleicht wäre CONCAT da zu gebrauchen ?

    DONE: :P
    Mit Concat functionierts einwandfrei:

    t.users LIKE( CONCAT( '%.', f.uid, '.%' ) );

    PHP
    if(isset($this) || !isset($this)){ // that's the question...

    4 Mal editiert, zuletzt von Teron Gerofied (1. Januar 2011 um 13:49)

  • Achso, kenn ich ehrlichgesagt garnicht (dachte ich mir aber fast ^^), hat komischerweise auch nicht funktioniert :/

    PHP
    if(isset($this) || !isset($this)){ // that's the question...