Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Выборка по списку товаров
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Есть задача - таблица(перечень различных товаров и магазинов), получить из неё записи значений из перечня. 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 (не важно как именно) список по которым надо делать выгрузку и подгружал его в запрос Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2019, 17:54 |
|
||
|
Выборка по списку товаров
|
|||
|---|---|---|---|
|
#18+
перечень откуда приходит? IN() есть конструкция, может вам подойдёт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2019, 17:56 |
|
||
|
Выборка по списку товаров
|
|||
|---|---|---|---|
|
#18+
Ну или JOIN ON LIKE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2019, 18:01 |
|
||
|
Выборка по списку товаров
|
|||
|---|---|---|---|
|
#18+
TheKLF, для извлечения данных в табличном виде для типа данных XML можно использовать метод nodes(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2019, 18:14 |
|
||
|
Выборка по списку товаров
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы, наверное я не совсем корректно условие описал Из таблицы надо делать выборку по названиям товаров, которые (если полностью ручками запрос писать) указываются в блоке авторLIKE 'item_1' OR LIKE 'item_2' ...... так вот хотелось бы не ручками каждый раз править запрос, а автоматизировать это. А ещё возможно я сам запрос не правильно делаю, может быть вы меня поправите. Как я уже писал ранее, надо получить список товаров, который допустим получаем в виде xml списка или просто в виде перечисления через запятую от другого отдела и нам надо им вернуть всё имеющиеся запасы из таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2019, 21:10 |
|
||
|
Выборка по списку товаров
|
|||
|---|---|---|---|
|
#18+
TheKLFкак можно автоматизировать перечисление названий, по которым надо делать выборку? ... я бы формировал что-то типа XMLВам ответили: Владислав Колосовдля извлечения данных в табличном виде для типа данных XML можно использовать метод nodes().далее, делаете JOIN вашего запроса с этим результатом, полученным методом nodes(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2019, 09:57 |
|
||
|
Выборка по списку товаров
|
|||
|---|---|---|---|
|
#18+
Кидайте список во времянку, а времянку вставьте в подзапрос where exists(select * from #xxx where #xxx.name like [...].name) С времянкой проще работать. Н-р делать ее сложное заполнение, чистку от ненужных данных и т.д. Она более естественна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2019, 10:12 |
|
||
|
Выборка по списку товаров
|
|||
|---|---|---|---|
|
#18+
Большое спасибо за ответы! Хотел ещё момент уточнить: когда есть перечень "item_1.....item_10...." и их надо использовать в условии LIKE . Как лучше сделать для скорости выполнения запроса - в одном запросе много LIKE через OR или сделать условно 10 запросов с одним условием LIKE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2019, 09:26 |
|
||
|
Выборка по списку товаров
|
|||
|---|---|---|---|
|
#18+
TheKLF, многое зависит от шаблона LIKE. Если этот шаблон не даёт использовать индексы, то, наверно, всё равно. Иначе надо иметь ввиду, что сервер недолюбливает много OR. Типичный способ оптимизации - замена на несколько SELECTов в UNION [ALL]. Если этих OR не тысячи, разумеется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2019, 12:01 |
|
||
|
Выборка по списку товаров
|
|||
|---|---|---|---|
|
#18+
iap, спасибо за ответ! А вариант параметра вида '%item!_1%' ESAPE '!' и остальные такого же вида влияют на скорости выполнения запроса? Когда ищется не по слову целиком, а условие является частью фразы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2019, 12:53 |
|
||
|
Выборка по списку товаров
|
|||
|---|---|---|---|
|
#18+
TheKLFА вариант параметра вида '%item!_1%' ESAPE '!' и остальные такого же вида влияют на скорости выполнения запроса? Когда ищется не по слову целиком, а условие является частью фразы.Если по индексу, то быстро, если нет, то медленно, остальное неважно. Т.е. если 'item!_1%' или 'item!_1', то быстро, остальное медленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2019, 15:06 |
|
||
|
|

start [/forum/topic.php?fid=46&tid=1688191]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 379ms |

| 0 / 0 |
