0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 7

Delphi ms access как скрыть дубликаты в результатах поиска

11.11.2013, 21:41. Показов 1260. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Обясняю на примере существует две таблицы KNIGA и TEG
KNIGA:
id_книги имя_книги
1 книга1
2 книга2
3 книга3

TEG:
id_книги тег_книги
1 тег1
1 тег12
2 тег2

создаю запрос включающий данные из обеих таблиц и поэтому id повторяется.
Cоздаю поиск
Кликните здесь для просмотра всего текста

ADOQuery1.SQL.Add('SELECT * FROM запрос1');
ADOQuery1.SQL.Add('WHERE имя_книги like' + a + '%' + Edit1.Text + '%' + a);
ADOQuery1.SQL.Add('or тег_книги like' + a + '%' + Edit1.Text + '%' + a);

Проблема в том что я незнаю как скрыть ненужные результаты о тех же книгах с одинаковыми тегами.

Вопрос как отформатировать результаты по "id" чтобы таблица показывала только один результат с данным "id"?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.11.2013, 21:41
Ответы с готовыми решениями:

как пронумеровать позиции в результатах поиска
Сабж зы гуглил, да не нагуглил

Как поднять ссылку на сайт в результатах поиска поисковой системы Google
Если в результатах поиска поисковой системы Google кликнуть по ссылке на мой сайт, то через несколько дней при следующем обновлении базы...

Как поднять ссылку на сайт в результатах поиска поисковой системы Яндекс ?
Если в результатах поиска поисковой системы Яндекс кликнуть по ссылке на мой сайт, то через несколько дней при следующем обновлении базы...

8
6 / 6 / 1
Регистрация: 04.08.2013
Сообщений: 62
11.11.2013, 22:27
Наверно я не правильно тебя понял?! Тебе нужно не показывать в таблице TEG id_книги?
Если да, то просто удали в DBGride этот Column.
0
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 7
11.11.2013, 23:15  [ТС]
Цитата Сообщение от kmoiseev Посмотреть сообщение
Наверно я не правильно тебя понял?! Тебе нужно не показывать в таблице TEG id_книги?
Если да, то просто удали в DBGride этот Column.
Нет мне нужно скрыть ненужные результаты с книгой которая уже есть в результах.
0
 Аватар для Waddonator
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
12.11.2013, 01:04
Цитата Сообщение от Drein Посмотреть сообщение
создаю запрос включающий данные из обеих таблиц и поэтому id повторяется.
Неизвестно, какие поля находятся в Вашем запрос1, т.к. данные Вы берете не из таблиц, а из запроса. Из этого вытекают все остальные вопросы.
1
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 7
12.11.2013, 09:31  [ТС]
Цитата Сообщение от Waddonator Посмотреть сообщение
Неизвестно, какие поля находятся в Вашем запрос1, т.к. данные Вы берете не из таблиц, а из запроса. Из этого вытекают все остальные вопросы.
запрос1
id_книги имя_книги тег_книги
1 книга1 тег1
1 книга1 тег11
2 книга2 тег1
3 книга3 тег2

В принципе я могу обойтись без запроса но все равно не понимаю как скрыть результаты о тех книг которые уже есть в результатах чтобы они неповторювались.
0
 Аватар для Waddonator
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
12.11.2013, 12:40
Цитата Сообщение от Drein Посмотреть сообщение
В принципе я могу обойтись без запроса
Так обойдитесь без него.
Цитата Сообщение от Drein Посмотреть сообщение
как скрыть результаты о тех книг которые уже есть в результатах чтобы они неповторювались.
Записи у Вас не повторяются. Первая и вторая строки отличаются. Если Вам без разницы, какой "тег_книги", зачем тогда Вы отображаете его в результирующей таблице, если именно это поле дает Вам "удвоение"?
Delphi
1
2
3
4
ADOQuery1.SQL.Add('SELECT DISTINCT b1.* FROM KNIGA AS b1');
ADOQuery1.SQL.Add('LEFT JOIN TEG AS b2 ON b1.id_книги=b2.id_книги');
ADOQuery1.SQL.Add('WHERE b1.имя_книги like' + QuotedStr('%' + Edit1.Text + '%'));
ADOQuery1.SQL.Add('or b2.тег_книги like' + QuotedStr('%' + Edit1.Text + '%'));
1
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 7
12.11.2013, 21:51  [ТС]
Большое спасибо, я уже не первой день ломал голову над этим вопросом.

Добавлено через 4 часа 20 минут
Waddonator, не могли бы вы мне подсказать как подключить несколько таблиц типа TEG. Просто я в языке sql новичок пробовал дописать сам ничего не получилось пока ищу в интернетеподсказку.
0
 Аватар для Waddonator
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
13.11.2013, 11:05
Цитата Сообщение от Drein Посмотреть сообщение
как подключить несколько таблиц
Используйте один из JOIN (INNER, LEFT, ...) и расставляйте скобки:
SQL
1
2
3
4
5
SELECT ...
FROM ((Table1 AS b1
LEFT JOIN Table2 AS b2 ON b1.Field2=b2.Field2)
LEFT JOIN Table3 AS b3 ON b1.Field3=b3.Field3)
LEFT JOIN Table4 AS b4 ON b1.Field4=b4.Field4
1
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 7
13.11.2013, 20:28  [ТС]
Цитата Сообщение от Waddonator Посмотреть сообщение
Используйте один из JOIN (INNER, LEFT, ...) и расставляйте скобки:
SQL
1
2
3
4
5
SELECT ...
FROM ((Table1 AS b1
LEFT JOIN Table2 AS b2 ON b1.Field2=b2.Field2)
LEFT JOIN Table3 AS b3 ON b1.Field3=b3.Field3)
LEFT JOIN Table4 AS b4 ON b1.Field4=b4.Field4
Спасибі виручив
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.11.2013, 20:28
Помогаю со студенческими работами здесь

Обозначения в результатах поиска
Подскажите пожалуйста, кто знает. В результатах поиска в Яндексе у некоторых позиций стоит дата, у некоторых только размер, а у меня ...

Ссылки в результатах поиска
Здравствуйте! Написал поиск на свой сайт. Все работает, но в поисковой выдаче результаты поиска отображаются как обычный текст без ссылки...

В результатах поиска ссылки на разделы
Ну, вот к примеру, ищу я фразу "туризм". Первый выскакивает www.turizm.ru и тут-же его разделы: Расписание поездов Туристический...

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

Место в результатах поиска гугла
Я знаю что можно проплатить место в результатах поиска гугла! КАк именно это сделать!


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

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

Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru