Сложное состояние - PullRequest
       6

Сложное состояние

0 голосов
/ 12 февраля 2010

У меня есть предопределенная комбинация предметов (например, brand1 | brand2 | brand3 и т. Д.) В таблице. Мне нравится собирать бренды и сверяться с заранее определенными данными таблиц. Например, я собрал brand1 | brand2 | brand3, и я смогу получить какую-то форму значения в этой предопределенной таблице (она соответствует условию). Как я могу проверить? бренды будут безграничны. также brand1 | brand2 | brand3 из brand1 | brand2 | существовать, затем возвращает истину.

1 Ответ

0 голосов
/ 12 февраля 2010

Хорошо, сделав дикую догадку относительно того, что вы спрашиваете, у вас есть поле с разделителями, в котором бренды разделены знаком | персонаж. Вы хотите вернуть любую строку, в которой есть правильная комбинация брендов, но не хотите возвращать строки с, например, маркой «testify», когда вы ищете «test».

У вас есть четыре условия поиска (ищите brand3):

  1. бренд существует сам по себе: "brand3"
  2. бренд начинает разделенное поле: «brand3 | brand4 | brand6»
  3. бренд находится в центре поля: "brand1 | brand3 | brand6"
  4. бренд находится в конце поля: «brand1 | brand2 | brand3»

так, в SQL:

SELECT *
FROM MyTable
WHERE BrandField = 'brand3'
   OR BrandField LIKE 'brand3|%'
   OR BrandField LIKE '%|brand3|%'
   OR BrandField LIKE '%|brand3'

Повторите, как требуется для нескольких брендов.

...