У меня есть предопределенная комбинация предметов (например, brand1 | brand2 | brand3 и т. Д.) В таблице. Мне нравится собирать бренды и проверять их с помощью предопределенных данных таблицы. Например, я собрал brand1 | brand2 | brand3, тогда я могу получить форму значения, которая предопределила таблицу (она соответствует условию). Как я могу проверить? бренды будут неограниченными. тоже бренд1 | бренд2 | бренд3 бренда1 | бренд2 | существует, тогда возвращает true.Сложное состояние
ответ
Хорошо, принимая дикое предположение о том, что вы просите, у вас есть поле с разделителями с брендами в них, разделенное | персонаж. Вы хотите вернуть любую строку, которая имеет правильную комбинацию брендов, но не хотите возвращать строки, например, в них «давать показания», когда вы ищете «тест».
У вас есть четыре условия поиска (поиск brand3):
- бренд существует само по себе: "brand3"
- бренд начинает разделителями поле: "brand3 | brand4 | brand6"
- бренд находится в середине поля: "brand1 | brand3 | brand6"
- бренд в конце поля: "brand1 | brand2 | brand3"
so, in SQL:
SELECT *
FROM MyTable
WHERE BrandField = 'brand3'
OR BrandField LIKE 'brand3|%'
OR BrandField LIKE '%|brand3|%'
OR BrandField LIKE '%|brand3'
Повторите, как требуется для нескольких марок.
Спасибо Крис, я разрабатываю мобильное решение для заказа. И моя цель - предоставить клиентам скидки на счета. Каждый товар принадлежит любому бренду. Правило скидок для счета будет определено в таблице дисконтных счетов. Например, пользователь по бренду 1 | бренд2 и минимальная сумма - 10000, затем получает 1-процентную скидку. Комбинация брендов должна составлять до 20. Мне просто нравится проверять собранные пользователем элементы против правила скидок на счета. заранее спасибо – Chinggis
Не могли бы вы объяснить немного больше с помощью различных примеров? Я не могу понять, что вы пытаетесь задать – Jimmy
* sniff * - yep, домашняя работа – IAbstract