Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выбрать поля, в которых содержится строка, содержащая менее пяти различных букв / 5 сообщений из 5, страница 1 из 1
20.12.2019, 08:39
    #39905922
Debusen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать поля, в которых содержится строка, содержащая менее пяти различных букв
Собственно задачка - выбрать из таблицы строки, в определенном поле которых содержится строка, содержащая менее пяти различных букв.
Как решить?
...
Рейтинг: 0 / 0
20.12.2019, 08:53
    #39905926
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать поля, в которых содержится строка, содержащая менее пяти различных букв
Эмм.. посчитать количество уникальных букв в значении поля, да отобрать то, где посчитанное меньше пяти.

Код: sql
1.
2.
3.
SELECT COUNT(DISTINCT SUBSTRING(field,number,1))
FROM master.dbo.spt_values
WHERE type='P' AND number BETWEEN 1 AND LEN(field)
...
Рейтинг: 0 / 0
20.12.2019, 09:07
    #39905934
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать поля, в которых содержится строка, содержащая менее пяти различных букв
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT test.txt
FROM test
CROSS APPLY ( SELECT SUBSTRING(txt,number,1) one_char
              FROM master.dbo.spt_values
              WHERE type='P' 
                AND number BETWEEN 1 AND LEN(txt) ) chars
GROUP BY test.txt
HAVING COUNT(DISTINCT chars.one_char) < 5


fiddle
...
Рейтинг: 0 / 0
20.12.2019, 09:12
    #39905936
Debusen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать поля, в которых содержится строка, содержащая менее пяти различных букв
Делаю запрос
Код: sql
1.
2.
3.
4.
5.
6.
SELECT Персонажи.Имя_персонажа 
INTO Newtable
FROM Персонажи
WHERE (SELECT COUNT(DISTINCT SUBSTRING(Персонажи.Имя_персонажа ,number,1))
FROM master.dbo.spt_values
WHERE type='P' AND number BETWEEN 1 AND LEN(Персонажи.Имя_персонажа ))<5


Выдает ошибку
Сообщение 8124, уровень 16, состояние 1, строка 4
В статистическом выражении, содержащем внешнюю ссылку, указано более одного столбца. Если статистическое выражение содержит внешнюю ссылку, то эта внешняя ссылка должна являться единственным столбцом, на который в выражении есть ссылка.
...
Рейтинг: 0 / 0
20.12.2019, 09:15
    #39905937
Debusen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать поля, в которых содержится строка, содержащая менее пяти различных букв
Всё, второй код отлично работает.
Огромное спасибо!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выбрать поля, в которых содержится строка, содержащая менее пяти различных букв / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]