Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 10.02.2013
Сообщений: 24

Сортировка в БД с несколькими таблицами

26.02.2013, 21:59. Показов 858. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте)
Мне нужно реализовать сортировку (например, по фамилии в алфавитном порядке), если таблица одна, то всё легко делается через запросы в ADOQuery. Но у меня есть 2 таблицы, причём не связанные между собой, но имеют одинаковое поле [код]. Вопрос следующий: нужно отсортировать таблицу по фамилии, но при этом во второй таблице тоже должна производиться сортировка соответственно полю [код]. Как можно это сделать?
Например, номер записи [Петров] = 3, [код]=12, при сортировке запись перемещается на первую позицию и во второй таблице запись с [код]=12 также должна переместиться на 1-ю позицию.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.02.2013, 21:59
Ответы с готовыми решениями:

Работа с несколькими таблицами
Не могу розобратса как могжно работать с несколькома связаными таблицами, я только розобрался как работать с одной, а вот с нескольками и...

Работа с несколькими таблицами
Предисловие: Имею 4 таблицы, все они одинаковы и имеют равное количество столбцов и строк. Вопрос: При заносе данных в первый столбец...

Отображение полей в DBGrid с несколькими связанными таблицами
Здравствуйте) Мой вопрос таков: я создала в Access базу данных, в которой есть 2 таблицы, связанные один-к-одному, далее в Билдере мне...

7
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
26.02.2013, 22:44
Нутак сделай 2 запроса на одну и на другую таблицу
0
1 / 1 / 0
Регистрация: 10.02.2013
Сообщений: 24
27.02.2013, 00:11  [ТС]
А можна конкретнее, какие именно запросы?
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
27.02.2013, 00:31
Lovan, здравствуйте!

Честно говоря, мне на ум решения не приходит. Хотя кое-что приходит, но это явно не решение

Проходимся циклом по первой таблице:
Цитата Сообщение от Lovan Посмотреть сообщение
[Петров] = 3, [код]=12
В цикле находим сравнения между текущей записью и записью из второй таблицы (вложенный цикл по второй записям второй таблицы). Если находим совпадение, то заносим данную запись (из второй таблицы) в какой-ниюудь StringList, используя разделители.

По окончанию общего цикла насильственно производить запись в DBGrid из StringList, учитывая при этом тип TField конкретного столбца DBGrid.

В общем, при таком подходе проще будет использовать StringGrid


P.S. Хотелось бы выслушать нормальное решение.
0
1 / 1 / 0
Регистрация: 10.02.2013
Сообщений: 24
27.02.2013, 00:45  [ТС]
Вы знаете, у меня был точно такой же вариант, но, наверное, он далёк от идеала. Хорошо, упростим задачу, допустим таблицы связаны, как тогда осуществить сортировку и поиск, если таблиц >=2.
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
27.02.2013, 03:39
Lovan,

Цитата Сообщение от Lovan Посмотреть сообщение
нужно отсортировать таблицу по фамилии, но при этом во второй таблице тоже должна производиться сортировка соответственно полю [код]. Как можно это сделать?
Цитата Сообщение от Lovan Посмотреть сообщение
допустим таблицы связаны

ТабИмя
Код Имя
1 Сидор
2 Иван
3 Петр

ТабФамилия
КодИмя Фамилия
1 Сидоров
2 Иванов
3 Петров

SQL
1
SELECT ТабФамилия.* FROM ТабИмя, ТабФамилия WHERE ТабИмя.Код = ТабФамилия.КодИмя ORDER BY ТабИмя.Имя ASC
Result:

ТабФамилия
КодИмя Фамилия
2 Иванов
3 Петров
1 Сидоров
0
1 / 1 / 0
Регистрация: 10.02.2013
Сообщений: 24
27.02.2013, 13:46  [ТС]
Спасибо большое))), это именно то, что нужно.
1
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
27.02.2013, 13:50
Lovan, всегда пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.02.2013, 13:50
Помогаю со студенческими работами здесь

Как работать с несколькими связанными между собой таблицами?
Доброго время суток, форумчяни! Я вот пытаюсь разобраться как можно работать с несколькими таблицами которые между собой связаны (база...

Работа с несколькими таблицами
Здравствуйте! Помогите мне, пожалуйста! У меня на форме такие компоненты: ADOConnection1, ADOQuery1, DataSource1 и др. И три таблицы,...

Работа с несколькими таблицами
ДД! Есть много БД на Парадоксе 7 и на форме много ТБГридов. Как сделать так чтобы при переходе с одного табшита на другой в дбгриде для...

Работа с несколькими таблицами БД
Уважаемые, подскажите. Требования: - Работа через DBGrid - Редактирование данных в таблицах Имеется две таблицы, в первой...

работа с несколькими таблицами
Добрый день, как можно сделать так, чтобы обрашаться к таблице по имени пример: есть таблици string parametr1 = new string; ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru