|
|
|
| Вот столкнулся с таким видом запросов и хотел бы узнать можно реализовать что то вроде этого?
в параметр `kataloq` varchar(255) записывается данные в форме
cat1_1
cat1_1/cat2_1
cat1_1/cat2_2
.....
cat1_1/cat2_1/cat3_1
cat1_1/cat2_1/cat3_2
....
cat1_1/cat2_1/cat3_1/cat4_1
.....
и т.д.
А вот если запросить данные в следующему порядку "SELECT * FROM `tb` WHERE `kataloq` LIKE 'cat1_1/%' " либо "SELECT * FROM `tb` WHERE `kataloq` LIKE 'cat1_1/cat2_1/%' " и т.д. выдаст все подкатегории, возможно ли ограничить как то?
Задача в том чтоб при запросе получить каталоги "cat1_1" выдавал все "cat1_1/cat2_1 - cat1_1/cat2_n", а не все, включая их подкатегории.
и в том числе для "cat1_1/cat2_1" выдавал "cat1_1/cat2_1/cat3_1 - cat1_1/cat2_1/cat3_n" | |
|
|
|
|
|
|
|
для: brokonyer
(07.03.2008 в 17:52)
| | Гм.. все не так сложно как на первый взгяд,
SELECT * FROM `tb` WHERE `kataloq` REGEXP 'cat1_1/[^/]*';
SELECT * FROM `tb` WHERE `kataloq` REGEXP 'cat1_1/cat2_1/[^/]*';
....
|
UPDATE: Помоему я правильно написал, но все равно результат тот же.
UPDATE: Не помогло даже следующие:
SELECT * FROM `tb` WHERE `kataloq` REGEXP 'cat1_1/[a-z0-9_]';
SELECT * FROM `tb` WHERE `kataloq` REGEXP 'cat1_1/cat2_1/[a-z0-9_]';
|
| |
|
|
|
|
|
|
|
для: brokonyer
(08.03.2008 в 14:03)
| | Хех, всегда что то мелочь остается...
SELECT * FROM `tb` WHERE `kataloq` REGEXP 'cat1_1/([^/]*)$';
|
| |
|
|
|