Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Выборка по повторяющейся части артикула  [new]
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]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по повторяющейся части артикула  [new]
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]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по повторяющейся части артикула  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Cosmosila,

TRY_CAST(SUBSTRING(BK_Article,1,5)  as INT)
18 окт 18, 10:00    [21707454]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по повторяющейся части артикула  [new]
Cosmosila
Member

Откуда: Санкт-Петербург
Сообщений: 38
"повторяющимися численными значениями"
имел в виду что нужно выборку сделать с артикулов чисел которые повторяют числа в артикулах с окончанием "CS" и "CSF"
18 окт 18, 10:04    [21707461]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по повторяющейся части артикула  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Cosmosila,

+ GROUP BY
+ HAVING COUNT()
18 окт 18, 10:06    [21707464]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по повторяющейся части артикула  [new]
court
Member

Откуда:
Сообщений: 2013
Cosmosila
имел в виду что нужно выборку сделать с артикулов чисел которые повторяют числа в артикулах с окончанием "CS" и "CSF"

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]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по повторяющейся части артикула  [new]
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 Ответить