|
20 / 20 / 0
Регистрация: 22.08.2012
Сообщений: 103
|
|
Запрос на выборку записей из таблицы по данным из другой31.10.2012, 13:06. Показов 2154. Ответов 10
Метки нет (Все метки)
Добродня всем! Помогите с запросом, пожалуйста!
Есть две таблицы, в одной (Основная) база объявлений, в отдельном поле номера телефонов. Телефоны могут быть городские (ХХХХХ), мобильные (89ХХХХХХХХ). Может указываться как один телефонный номер, так и несколько, через запятую. Есть вторая таблица (Вспомогательная), в которой собираются номера телефонов, которые нужно отследить. В текущей версии базы могу лишь отслеживать те номера в основной таблице, которые указаны во вспомогательной в том виде, в котором они были туда занесены, допустим (44215, 8988888888). Но если в основной таблице появится запись, с телефонами зеркально перевернутыми (8988888888, 44215), я эту запись уже не увижу. Необходимо построить запрос таким образом, чтобы во вспомогательной таблице хранились номера по одному на строку, без запятых, но чтобы можно было отбирать в основной те записи, в которых хотя бы один из них соответствует! Понимаю, что описал криво, но может хоть какие то идеи есть ![]() Спасибо!
0
|
|
| 31.10.2012, 13:06 | |
|
Ответы с готовыми решениями:
10
Сделать выборку из одной таблицы по данным другой Запрос на выборку по данным из textBox Ускорить выборку записей из таблицы |
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
|
| 31.10.2012, 13:14 | |
|
Создайте подчиненную "Основной" таблицу с телефонами, так, чтобы у одной записи в основной могло быть несколько телефонов. Поместите туда телефоны - и проблемы с извлечением отдельных телефонов из строки с несколькими не станет.
1
|
|
|
20 / 20 / 0
Регистрация: 22.08.2012
Сообщений: 103
|
||
| 31.10.2012, 13:22 [ТС] | ||
|
Этим вариантом сейчас и пользуюсь, но нужно другое решение.
0
|
||
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
|
| 31.10.2012, 13:32 | |
|
Т.е. Вам нужно, чтобы при вводе/коррекции поля с телефонами в записи Основной происходило извлечение телефонов из него и помещение их в связанные с этой записью записи таблицы телефонов?
Если это из текста объявления, то вряд ли удастся сделать это всегда (фантазия людей, подающих объявления, безгранична даже в написании своих телефонов). Если есть четкие правила, по которым пишутся два и более телефон - сформулируйте их (это всегда список через запятую, или ...).
0
|
|
|
20 / 20 / 0
Регистрация: 22.08.2012
Сообщений: 103
|
||
| 31.10.2012, 13:41 [ТС] | ||
|
Вспомогательной таблицей я отслеживаю номера, которые мне не интересны, чтобы при появлении новых записей уже не тратить на них свое время. Я добавил лог. поле и запрос на добавление во вспомогательную таблицу, вторым запросом на обновление основной таблицы я нахожу совпадающие номера и обновляю лог. поле. Если же номера в основной таблице поменяются местами (в случае, когда их несколько), то запрос на обновление уже не сможет их найти
0
|
||
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
|
| 31.10.2012, 14:15 | |
|
Во вспомогательной таблице отдельные номера телефонов или такие же строки с несколькими, как в основной? Если отдельные номера, то сравнивайте сначала с первым из основной, потом со вторым из основной и т.п., тогда порядок их в основной (проблема же в этом?) не будет иметь значения.
1
|
|
|
20 / 20 / 0
Регистрация: 22.08.2012
Сообщений: 103
|
||
| 31.10.2012, 15:37 [ТС] | ||
|
Только вот как сравнивать? можно какой то пример?
0
|
||
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
|
| 31.10.2012, 16:47 | |
|
Если Телефоны - это строка с двумя телефонами, то Телефон1 = Left(Телефоны, InStr(1, Телефоны, ",") - 1), а Телефон2 = Mid(Телефоны, InStr(1, Телефоны, ",") + 2).
Но почему бы в вспомогательной таблице не хранить телефоны по одному? Хранить список номеров телефонов в строке - неправильно, если предполагается потом обработка отдельных номеров телефонов.
0
|
|
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,375
|
||||||
| 01.11.2012, 02:51 | ||||||
|
А если в VBA, то можно и так:
0
|
||||||
|
20 / 20 / 0
Регистрация: 22.08.2012
Сообщений: 103
|
||
| 01.11.2012, 11:07 [ТС] | ||
|
Добавлено через 1 минуту Нужно, чтоб брался телефон из вспомогательной и сверялся со всеми телефонами в основной на наличие совпадения хотя бы одного из перечисленных через зяпятую
0
|
||
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
|
| 01.11.2012, 11:46 | |
|
Выложите "огрызок" базы с Основной и Вспомогательной таблицами и формой ввода Основной в формате .mdb. Тогда рекомендации станут конкретными, Вам же показали (два варианта) как выделить номера телефонов, и ... .
0
|
|
| 01.11.2012, 11:46 | |
|
Помогаю со студенческими работами здесь
11
Запрос на выборку записей из БД по диапазону дат SELECT запрос на выборку соседних записей Запрос на выборку записей из разных таблиц Вывод данных из таблицы по данным из другой таблицы Поиск из одной таблицы по данным другой таблицы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|