Возможен ли LIKE по многим полям?

Роберт

Аналитик
Возможен ли LIKE по многим полям?

Если мне надо найти слово во многих полях я могу написать:
...where 'Солнце' in (Pole1,Pole2,Pole3,Pole4...Pole55)
А есть ли возможность искать ФРАГМЕНТ текста во множестве полей? (так сказать - поиск по всей базе) Что-то типа:
...where 'Солн%' in (Pole1,Pole2,Pole3,Pole4...Pole55)
Здесь уже LIKE ни куда не подставить :(
Неужели придётся писать 55 раз:
...where Pole1 like 'Солн%' or Pole2 like 'Солн%' or Pole3 like 'Солн%' or ... Pole55 like 'Солн%'
 

tony2001

TeaM PHPClub
Апельсин
Paxan
но в этом случае есть шанс, что под LIKE 'Солн%' подойдет "Со" + "лн..", а не "Солн..".
 

tony2001

TeaM PHPClub
field1 = "Со"
field2 = "лнцево"

SELECT .. FROM .. WHERE field1 LIKE 'Солн%' OR field2 LIKE 'Солн%' ; -> 0
SELECT .. FROM .. WHERE CONCAT(field1,field2) LIKE 'Солн%'; -> 1
 

Апельсин

Оранжевое создание
Роберт, посмотри описание функции CONCAT_WS(), тогда не придется извращатся с CONCAT().
 
Сверху