![>](style_images/1/nav_m.gif)
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.144.12.87] |
![]() |
|
![]() | Данный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
![]() |
Сообщ.
#16
,
|
|
MIF
Тогда уж ![]() ![]() SELECT * FROM @T WHERE LEN (metakey) - LEN(REPLACE(metakey, ',', '')) = (LEN(metakey) - LEN(REPLACE(',' + metakey,',razdel-','')) - 1)/8 какой смысл проверять по отдельности первое и остальные вхождения? |
![]() |
Сообщ.
#17
,
|
|
Если по полю metakey есть индекс. то мой запрос будет работать быстрее.
|
Сообщ.
#18
,
|
|
|
К сожалению, ни 1 из запросов не отработал. Написал в ТП: меня сам сервер хостера заблокировал.
|
Сообщ.
#19
,
|
|
|
Отработал такой. Но вернул все равно 0 строк - при наличии одной статьи с тегами "раздел-идеи,раздел-прочее,раздел-решение".
SELECT *FROM joomla_content WHERE metakey like 'раздел-%' AND LENGth (metakey) - LENGth(REPLACE(metakey, ',', ''))= (LENGth(metakey) - LENGth(REPLACE(metakey,',раздел-','')))/8; Добавлено Цитата MIF @ Точки нет в конце тегов. Может, в этом дело? Замена в вашем запросе "8" на "7" не помогает. |
![]() |
Сообщ.
#20
,
|
|
Проблема в том, что ты не запостил структуру таблицы. Код запроса зависит от типа поля metakey. Попробуй Заменить /8 на /16 и /1 на /2. Может сработает.
![]() ![]() DECLARE @T TABLE(metakey nvarchar(max)) INSERT INTO @T(metakey) VALUES(N'razdel-128.') INSERT INTO @T(metakey) VALUES(N'me,razdel-12.') INSERT INTO @T(metakey) VALUES(N'razdel-128,razdel-me,razdel-16.') INSERT INTO @T(metakey) VALUES(N'razdel-128,razdel-merazdel-16.') INSERT INTO @T(metakey) VALUES(N'razdel-128,razdel-me,anotherrazdel,razdel-16.') SELECT * FROM @T WHERE metakey like 'razdel-%' AND (LEN (metakey) - LEN(REPLACE(metakey, ',', '')))/2= (LEN(metakey) - LEN(REPLACE(metakey,',razdel-','')))/16 |
Сообщ.
#21
,
|
|
|
Цитата MIF @ Не сработало. Что если вручную прописать все теги "раздел-что_то", которые имеются? На примере "раздел-IT". Прикреплённый файл ![]() Сообщения были разделены в тему "spam" |
Сообщ.
#22
,
|
|
|
SELECT * FROM joomla_content WHERE metakey LIKE 'раздел-%'
Работает в случае, если раздел пишется первым. |
![]() |
Сообщ.
#23
,
|
|
Может быть не прав, но срытые символы Вы обрабатываете? Давно не подходил к компу.
|
Сообщ.
#24
,
|
|
|
Цитата Bas @ Может быть не прав, но срытые символы Вы обрабатываете? Давно не подходил к компу. Что такое скрытые символы? |
![]() |
Сообщ.
#25
,
|
|
Цитата Сергей85 @ Что такое скрытые символы? Символы, которые не видны при обычном отображении. Например, пробел на конце строки - поди его увидь... Или, скажем, символ, изображение которого в текущем шрифте имеет нулевую ширину. Да мало ли... |
Сообщ.
#26
,
|
|
|
В тегах у меня есть пробелы, но не в названиях разделов.
|
![]() |
Сообщ.
#27
,
|
|
Насколько велика таблица joomla_content? Если её задампить и зипануть - приложится к сообщению? чтобы на реальных данных тестировать, а не гадать на кофейной гуще..
|
Сообщ.
#28
,
|
|
|
Цитата Akina @ Насколько велика таблица joomla_content? Если её задампить и зипануть - приложится к сообщению? чтобы на реальных данных тестировать, а не гадать на кофейной гуще.. У меня проблема уже решена. Вы кому отвечаете? |
![]() |
Сообщ.
#29
,
|
|
Цитата Сергей85 @ Вы кому отвечаете? Bas подживил вопрос - и Вы тут же включились. Мне показалось, что проблема либо не решена, либо решена, но Вы в ней не против покопаться ещё. Нет - так нет, не вопрос. |