1 / 1 / 0
Регистрация: 14.04.2011
Сообщений: 30
1

Отбирать строку/строки в таблице BASE, которые входят в указанную строку

24.03.2013, 21:55. Показов 799. Ответов 5
Метки нет (Все метки)

Есть таблица BASE с полем марка авто, как правило от одного до трех слов.
1 =ВАЗ
2 = МАЗ
3 = КАЛИНА
4 = АСТИН МАРТИН
....

Есть строка = "ВАЗ, ТАЗ, ПРИОРА, АСТИН МАРТИН"
Нужен запрос который будет отбирать строку/строки в таблице BASE, которые входят в указанную строку.
Что то вроде обратного запроса )
Как это можно реализовать? просто перебор не подойдет, Строка с данными не велика, а вот база со значениями под миллион записей.
Заранее спасибо за помощь!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2013, 21:55
Ответы с готовыми решениями:

Заданы две строки. Построить новую строку, состоящую из символов, которые входят в первую строку, но не входят во вторую
Помогите решить пожалуйста задачу условия звучат так. Заданы две строки. Построить новую строку,...

Заданы 2 строки. Построить новую строку, состоящую из символов которые входят в 1 строку но не входят во 2
Заданы 2 строки. Построить новую строку, состоящую из символов которые входят в 1 строку но не...

Создать новую строку из символов 1-ой заданной строки, которые не входят во вторую заданную строку
Pascal:Создать новую строку из символов 1-ой заданной строки, которые не входят во вторую заданную...

Заданы две строки. Построить новую строку, состоящую из символов, которые входят как в одну, так и в другую строку
Прошу помощи!

5
призрак
3261 / 889 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
24.03.2013, 22:14 2
примерно так
Visual Basic
1
2
s=", " & "ВАЗ, ТАЗ, ПРИОРА, АСТИН МАРТИН" & ","
sSQL="select [марка] from base where instr(""" & s & """, "", "" & [марка] & "","")>0"
1
1 / 1 / 0
Регистрация: 14.04.2011
Сообщений: 30
24.03.2013, 23:47  [ТС] 3
Спасибо, то, что нужно!
0
Эксперт MS Access
26765 / 14444 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
25.03.2013, 00:23 4
Еще вариант запроса. С лайком должно быть побыстрее.
SQL
1
SELECT * FROM bigtable WHERE [строка поиска] LIKE '*' & [Марка] & '*'
Если запрос динамически формируется в коде, то строка такая
Visual Basic
1
sSql = "select * from bigtabl where '" & s & "' like '*' & [Марка] & '*'"
Если используете адо, то вместо звездочки ставить %
1
призрак
3261 / 889 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
25.03.2013, 00:32 5
Цитата Сообщение от mobile Посмотреть сообщение
С лайком должно быть побыстрее.
я думал - наоборот.
но не проверял.

а вот запятушки зря откинул.
одна марка может оказаться частью другой.
0
1 / 1 / 0
Регистрация: 14.04.2011
Сообщений: 30
25.03.2013, 22:08  [ТС] 6
Вариант с Like оказался медленнее 9 против 5 секунд (
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2013, 22:08
Помогаю со студенческими работами здесь

Создать строку, состоящую из символов, которые входят как в одну, так и в другую строку (не string-ом)
Условие: Заданы две строки. Построить новую строку, состоящую из символов, которые входят как в...

В строку S2 записать все слова, которые входят в обе строки S и S1
Ввести с клавиатуры две строки S и S1 длиной до 60 символов. В строку S2 записать все слова,...

Отобразить гласные, которые входят в первую строку, и не входят во вторую.
Даны 2 строки от клавиатуры отображать гласные которые входят в первой строке и не входят во второй.

Искать в файле из директории "base" строки, которые содержат строку из "list.ini" и отсеивать их
Здравствуйте. Имеется данный Batch: @ECHO off SETLOCAL EnableExtensions EnableDelayedExpansion ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru