akxxiv
Новичок
Очень понимаю что в Мускуле нет такого типа поля, но тем не менее...
Задача:
Есть накладная на товар, который может перевозится в нескольких температурных режимах:
0 => -18С
1 => +2 +4С
2 => +5 +10С
3 => +11 +25С
При чем на выбор она может перевозиться в нескольких режимах одновременно.
Как это запрограммировать, чтобы было удобно при поиске.
Вижу аж несколько вариантов:
1. Ввести поле tmpr (varchar) типа .0.1. или .1.2.3. и поиск по ним типа LIKE("%.1.%") OR LIKE("%.2.%") Меня смущает LIKE
2. Создать доп. таблицу: wb_id | tmpr и поиск:
2.1. два запроса $ids = SELECT * ... WHERE tmpr IN(1,2) ; $wbs = SELECT * ... WHERE id IN($ids) проблема в том, что про больших объемах этих швы может быть до хрена...
2.1. SELECT * ... (SELECT COUNT(*) ... WHERE wb_id IN(?)) as tmpr ... HAVING tmpr>0 Смущает HAVING
3. Возможно как-то складывать температурные режимы, чтобы суммы были всегда уникальным. Типа как права в юниксе. Но че-то я щас пока не могу уловить алгоритма (с матчастю не очень)
Может еще какие варианты есть?
По п.3. может кто разъяснит как правильно сделать уникальными суммы, а так же преобразовать сумму в обратную сторону, т.е. разбить ее на слагаемые?
Задача:
Есть накладная на товар, который может перевозится в нескольких температурных режимах:
0 => -18С
1 => +2 +4С
2 => +5 +10С
3 => +11 +25С
При чем на выбор она может перевозиться в нескольких режимах одновременно.
Как это запрограммировать, чтобы было удобно при поиске.
Вижу аж несколько вариантов:
1. Ввести поле tmpr (varchar) типа .0.1. или .1.2.3. и поиск по ним типа LIKE("%.1.%") OR LIKE("%.2.%") Меня смущает LIKE
2. Создать доп. таблицу: wb_id | tmpr и поиск:
2.1. два запроса $ids = SELECT * ... WHERE tmpr IN(1,2) ; $wbs = SELECT * ... WHERE id IN($ids) проблема в том, что про больших объемах этих швы может быть до хрена...
2.1. SELECT * ... (SELECT COUNT(*) ... WHERE wb_id IN(?)) as tmpr ... HAVING tmpr>0 Смущает HAVING
3. Возможно как-то складывать температурные режимы, чтобы суммы были всегда уникальным. Типа как права в юниксе. Но че-то я щас пока не могу уловить алгоритма (с матчастю не очень)
Может еще какие варианты есть?
По п.3. может кто разъяснит как правильно сделать уникальными суммы, а так же преобразовать сумму в обратную сторону, т.е. разбить ее на слагаемые?