Çok zamanım yok daha temiz yazılabilir, " DECLARE var varchar(150) DEFAULT '2,6,7';" buradaki default sizin elinizdeki değişken. Sonuçta while ile 'SELECT * FROM tablo_adi WHERE FIND_IN_SET(2, motor_numarasi) != 0 AND FIND_IN_SET(6, motor_numarasi) != 0 AND FIND_IN_SET(7, motor_numarasi)' şeklinde bir query build ediliyor. Burada işin espirisi "FIND_IN_SET" fonksiyonu. Eğer java, python veya php gibi bir dil ile sorguyu oluşturmak isterseniz değişkeni explode edip sorguyu sizde hazırlayabilirsiniz. hızlıca şöyle;
İhtiyacı olacaklar için FIND_IN_SET;
SELECT id, FIND_IN_SET('1', field) AS result FROM tablo_adi; -> tüm "," ile ayrılmış sütunları alır sonuçlarda 1 değerini arar
SELECT * FROM tablo_adiwhere FIND_IN_SET('1',field) <> 0; -> ", " ile ayrılmış sütunlarda 1 değeri olanları alır