• 09-12-2020, 00:52:34
    #10
    tuncgulec adlı üyeden alıntı: mesajı görüntüle
    and and and nereye kadar, doğru kullanın şu sql'i arkadaşlar
    SELECT * FROM shops WHERE Id IN (6,7,10,12,50) çoklu and kullanmak yerine bu şekilde sorgu yapın.

    arkadaşın tablo yapısında ise;
    SELECT * FROM shops WHERE Id LIKE '%|15|%' OR Id LIKE '%|6|%' gibi saçma bir sorgu gerekecek, o nasıl bir veritabanı tasarlama şekli ki.
    Ek şu bilgiyi de verelim;

    Column indexli değilse or yada and kullanılan sorgu %30 daha yavaş çalışır.
    column indexliyse hız da çok fark olmayabilir.
    Ve tabiki de görüntü ve kod düzeni açısından da Where in kullanılmalıdır.
    ...
  • 09-12-2020, 01:08:01
    #11
    REGEXP kullanın.
    6 ve 15 değerleri için
    $sql = "SELECT * FROM test1 WHERE ids REGEXP '[[:<:]]6[[:>:]].+[[:<:]]15[[:>:]]'";
  • 09-12-2020, 09:33:46
    #12
    find_in_set
  • 09-12-2020, 11:30:57
    #13
    select * from tablo where find_in_set(6, replace(x, '|', ','))

    senin cozumun budur dostum.
  • 09-12-2020, 15:20:29
    #14
    hiçbir yol bulamadıysan verileri getirip explode ile böl ona göre join ile birleştir in array sorgusu at .