Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Cosmosila Member Откуда: Санкт-Петербург Сообщений: 38 |
Приветствую уважаемые форумчани! Столкнулся со следующей прикладной задачей. Мне нужно сформировать выборку по базе продукции из следующих типов артикулов: ... 83140 83140CS 83140CSF 1302020 1302020CS 1302020CSF 82671 82671CS 74370 74370CSF ... Написал следующий запрос: SELECT BK_Article FROM dbo.Oglaend_Unload_BK WHERE (BK_Article LIKE '%CS') OR (BK_Article LIKE '%CSF') GROUP BY BK_Article Проблема возникла с вычленением из базы артикулов без окончаний CS и CSF с повторяющимися численными значениями. Думал насчет применения "REPLACE(BK_Article, '%CS', '')" и "REPLACE(BK_Article, '%CSF', '')", но пока ничего с этим не получилось. Через какой синтаксис выбирать численные артикулы? |
18 окт 18, 09:52 [21707445] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
нефига не понял ..но если нужны тупо цыфры то : 1. BK_Article not like ' %[a-Z]%' 2. TRY_CFONVERT(BK_Article , int) =1 (>=2011) 3. BK_Article like '[0-9] %[^a-Z]%' |
18 окт 18, 09:59 [21707453] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
Cosmosila,TRY_CAST(SUBSTRING(BK_Article,1,5) as INT) |
18 окт 18, 10:00 [21707454] Ответить | Цитировать Сообщить модератору |
Cosmosila Member Откуда: Санкт-Петербург Сообщений: 38 |
"повторяющимися численными значениями" имел в виду что нужно выборку сделать с артикулов чисел которые повторяют числа в артикулах с окончанием "CS" и "CSF" |
18 окт 18, 10:04 [21707461] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
Cosmosila, + GROUP BY + HAVING COUNT() |
18 окт 18, 10:06 [21707464] Ответить | Цитировать Сообщить модератору |
court Member Откуда: Сообщений: 2252 |
select t1.BK_Article from t t1 where exists(select 1 from t t2 where t2.BK_Article in (t1.BK_Article+'CS',t1.BK_Article+'CSF')) |
||
18 окт 18, 10:10 [21707468] Ответить | Цитировать Сообщить модератору |
RMAN54 Member Откуда: Сообщений: 185 |
select s.BK_Article--,s2.BK_Article from s s --join s s2 on s2.BK_Article like s.BK_Article+'CS%' where try_cast(s.BK_Article as int) is not null and exists (select * from s s2 where s2.BK_Article like s.BK_Article+'CS%' ) |
18 окт 18, 10:11 [21707471] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |