![]() |
|
|
![]()
|
|
| Striderr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 20.11.2009 Репутация: нет Всего: нет |
Всем доброго времени суток.
Имеется БД из нескольких таблиц. Также имеется приложение, позволяющее заносить данные в эти таблицы. И требуется в этом приложении к примеру в одном из DBGrid'ов вывести поля из разных таблиц. Каким образом это можно сделать через IBQuery? Для конекта с базой гриды используют IBTable и DataSource соотвественно. |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 7 Всего: 306 |
||||
|
||||
| Striderr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 20.11.2009 Репутация: нет Всего: нет |
Уточнить каким образом? Сами таблицы в программе между собой связать?
|
|||
|
||||
| chip_and_dayl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 603 Регистрация: 22.4.2007 Где: Украина, Киев Репутация: нет Всего: 9 |
Таблицы объединяешь через запрос такого плана:
-------------------- Фсё будет хорошо!!! |
|||
|
||||
| Striderr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 20.11.2009 Репутация: нет Всего: нет |
Большое спасибо за запрос!
Правда я тут покопался немного и нашел немного другой вариант объединения
Это сообщение отредактировал(а) Striderr - 20.11.2009, 21:19 |
|||
|
||||
| chip_and_dayl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 603 Регистрация: 22.4.2007 Где: Украина, Киев Репутация: нет Всего: 9 |
Striderr
Я тоже начинал объединение через where :) Но сейчас пользуюсь join -------------------- Фсё будет хорошо!!! |
|||
|
||||
| Striderr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 20.11.2009 Репутация: нет Всего: нет |
Ну да, начинать с where определенно легче=)
А какие преимущества у join? Просто в данном случае мне просто надо было вывести в один DBGrid определенные поля из 3-х таблиц. А в случае с join приходилось бы лишние поля скрывать, так как таблицы выводились со всеми полями. Или я еще плохо знаю этот самый join:) Это сообщение отредактировал(а) Striderr - 21.11.2009, 08:38 |
|||
|
||||
| chip_and_dayl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 603 Регистрация: 22.4.2007 Где: Украина, Киев Репутация: нет Всего: 9 |
Преимущества в принципе как таково нету, разве что, когда объединяешь больше двух таблиц, то очень сложно будет читаться запрос когда будет куча AND. Это в том случае если ты делаешь внутренне объединение (когда выводятся запись на которую имеется ссылка в первой и второй таблице (если взять за пример объединение двух таблиц)).
Но может возникнуть такая ситуация, что тебе нужно с первой таблицы вывести все записи, даже если во второй таблице на них нету ссылки. Если ты использовал обьединение через where, то тебе нужно будет полностью переписать запрос с использованием оператора left|right outer join, в случае с inner join тебе нужно просто заменить inner join на left|right outer join и все заработает:) Это сообщение отредактировал(а) chip_and_dayl - 21.11.2009, 10:39 -------------------- Фсё будет хорошо!!! |
|||
|
||||
| Striderr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 20.11.2009 Репутация: нет Всего: нет |
Вон оно че)
Спасибо, буду знать теперь) |
|||
|
||||
![]()
|
| Правила форума "C++: Базы данных" | |
|
|
Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах. Благодарим за понимание. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Базы данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |