powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выборка по списку товаров
11 сообщений из 11, страница 1 из 1
Выборка по списку товаров
    #39780020
TheKLF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Есть задача - таблица(перечень различных товаров и магазинов), получить из неё записи значений из перечня.

SQLSELECT [NAME], [PRICE], [STORE] FROM [dbo].[My_Base] WHERE [NAME] LIKE ' " здесь перечень названий " '


как можно автоматизировать перечисление названий, по которым надо делать выборку?
чтобы не писать много раз:

SQL..... WHERE [NAME]
LIKE 'item_1'
or LIKE 'item_2'
or LIKE 'item_3'
or LIKE 'item_4'
or LIKE 'item_5'
.......


я бы формировал что-то типа XML или CSV (не важно как именно) список по которым надо делать выгрузку и подгружал его в запрос

Спасибо!
...
Рейтинг: 0 / 0
Выборка по списку товаров
    #39780022
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перечень откуда приходит? IN() есть конструкция, может вам подойдёт
...
Рейтинг: 0 / 0
Выборка по списку товаров
    #39780026
BredSpit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну или JOIN ON LIKE
...
Рейтинг: 0 / 0
Выборка по списку товаров
    #39780033
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TheKLF,

для извлечения данных в табличном виде для типа данных XML можно использовать метод nodes().
...
Рейтинг: 0 / 0
Выборка по списку товаров
    #39780112
TheKLF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы, наверное я не совсем корректно условие описал

Из таблицы надо делать выборку по названиям товаров, которые (если полностью ручками запрос писать) указываются в блоке авторLIKE 'item_1' OR LIKE 'item_2' ......

так вот хотелось бы не ручками каждый раз править запрос, а автоматизировать это.

А ещё возможно я сам запрос не правильно делаю, может быть вы меня поправите. Как я уже писал ранее, надо получить список товаров, который допустим получаем в виде xml списка или просто в виде перечисления через запятую от другого отдела и нам надо им вернуть всё имеющиеся запасы из таблицы.
...
Рейтинг: 0 / 0
Выборка по списку товаров
    #39780201
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TheKLFкак можно автоматизировать перечисление названий, по которым надо делать выборку?
...
я бы формировал что-то типа XMLВам ответили:
Владислав Колосовдля извлечения данных в табличном виде для типа данных XML можно использовать метод nodes().далее, делаете JOIN вашего запроса с этим результатом, полученным методом nodes().
...
Рейтинг: 0 / 0
Выборка по списку товаров
    #39780209
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кидайте список во времянку, а времянку вставьте в подзапрос
where exists(select * from #xxx where #xxx.name like [...].name)
С времянкой проще работать. Н-р делать ее сложное заполнение, чистку от ненужных данных и т.д.
Она более естественна.
...
Рейтинг: 0 / 0
Выборка по списку товаров
    #39781724
TheKLF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо за ответы!

Хотел ещё момент уточнить:
когда есть перечень "item_1.....item_10...." и их надо использовать в условии LIKE . Как лучше сделать для скорости выполнения запроса - в одном запросе много LIKE через OR или сделать условно 10 запросов с одним условием LIKE
...
Рейтинг: 0 / 0
Выборка по списку товаров
    #39781812
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TheKLF,

многое зависит от шаблона LIKE. Если этот шаблон не даёт использовать индексы, то, наверно, всё равно.
Иначе надо иметь ввиду, что сервер недолюбливает много OR.
Типичный способ оптимизации - замена на несколько SELECTов в UNION [ALL].
Если этих OR не тысячи, разумеется.
...
Рейтинг: 0 / 0
Выборка по списку товаров
    #39781862
TheKLF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iap,
спасибо за ответ!

А вариант параметра вида '%item!_1%' ESAPE '!' и остальные такого же вида влияют на скорости выполнения запроса? Когда ищется не по слову целиком, а условие является частью фразы.
...
Рейтинг: 0 / 0
Выборка по списку товаров
    #39782017
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TheKLFА вариант параметра вида '%item!_1%' ESAPE '!' и остальные такого же вида влияют на скорости выполнения запроса? Когда ищется не по слову целиком, а условие является частью фразы.Если по индексу, то быстро, если нет, то медленно, остальное неважно.
Т.е. если 'item!_1%' или 'item!_1', то быстро, остальное медленно.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выборка по списку товаров
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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