Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Извлечение связанных таблиц / 10 сообщений из 10, страница 1 из 1
05.02.2004, 14:05
    #32399353
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение связанных таблиц
Предположим в базе Access есть две таблицы, связанные по ключевым полям.
Можно ли через SQL-запрос узнать имена этих ключевых полей?
Или может быть возможно через SQL-запрос автоматически правильно извлечь данные из этих двух таблиц, т.е. получить в итоге одну "сводную" таблицу?

Подскажите, кто знает.
...
Рейтинг: 0 / 0
05.02.2004, 14:25
    #32399401
Tracer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение связанных таблиц
Какая связь ? ( 1:1 , 1:n, m:n )
...
Рейтинг: 0 / 0
05.02.2004, 15:00
    #32399493
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение связанных таблиц
авторИли может быть возможно через SQL-запрос автоматически правильно извлечь данные из этих двух таблиц, т.е. получить в итоге одну "сводную" таблицу?
Написать правильный запрос (читайте описание SQL для вашей БД) и он прямо-таки "автоматически" извлечет все нужные Вам данные в "одну "сводную" таблицу".
...
Рейтинг: 0 / 0
05.02.2004, 15:41
    #32399597
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение связанных таблиц
Связь пока - 1:1.

авторНаписать правильный запрос (читайте описание SQL для вашей БД) и он прямо-таки "автоматически" извлечет все нужные Вам данные в "одну "сводную" таблицу".

Что значит "читайте описание SQL для вашей БД"?
SQL-запросы они вроде стандартные для любой БД.

Можете привести пример такого "правильного запроса"?
А то я пока кроме SELECT FROM ничего не знаю.
...
Рейтинг: 0 / 0
05.02.2004, 16:01
    #32399648
_Konst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение связанных таблиц
Насколько я знаю, средства SQL для Access узнать какие поля являются ключевыми не позволяют. Вообще говоря это выходит за рамки стандартного SQL. В БД типа SQL Server и Oracle подобные вещи реализуются с помощью системных хранимых процедур, например
sp_helpindex 'TableName'
для SQL Server.
Пользуйтесь объектами OLE DB и будет вам счастье.
...
Рейтинг: 0 / 0
05.02.2004, 16:13
    #32399676
Tracer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение связанных таблиц
Если 1 : 1

SELECT a.field1, a.field2, b.field1, b.field2
FROM a
INNER JOIN b ON a.field3 = b.field3
...
Рейтинг: 0 / 0
05.02.2004, 16:36
    #32399745
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение связанных таблиц
автор
SELECT a.field1, a.field2, b.field1, b.field2
FROM a
INNER JOIN b ON a.field3 = b.field3

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

Доступ к базе (к любой) у меня идет через ODBC.
...
Рейтинг: 0 / 0
05.02.2004, 17:56
    #32399901
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение связанных таблиц
авторЭто конечно, хорошо, но имена ключевых полей не известны.
Не ставьте телегу вперед лошади.
Когда люди пишут запрос, они по крайней мере, знают, чего хотят получить( конкретно, какие данные из каких таблиц), знают структкру базы.
А фразы типа
авторЭто конечно, хорошо, но имена ключевых полей не известны.
Какие-нибудь варианты еще есть?
наводят на мысль, что Вы ее не знаете.
В этом случае Ваш вопрос (запрос) звучит типа: "Выбери мне то, не знаю - что, но что бы связано было"
Изучите структуру базы, определитесь с конкретным запросом, спросите и Вам дадут конкретный ответ.
P.S.
Это конечно, хорошо, но имена ключевых полей не известны. [quot автор][/quot]
А их может и не быть - разработчик придумал в голове связь двух таблиц но никак ее не обозначил (ни ключевых полей тебе, ни связи в структре данных, ничего). Но он выберет нужные ему данные запросом все равно ( вопрос о быстродействии не поднимается)
...
Рейтинг: 0 / 0
05.02.2004, 18:43
    #32399978
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение связанных таблиц
Структура базы не известна (может быть любой).
Исходные данные - только имя базы (имя ODBC-источника). Все остальное (таблицы, поля, записи) сочиняемая мной программа должна распознавать сама без каких-либо подсказок со стороны пользователя.
Теперь конкретный вопрос:
Сможет ли моя программа обычными средствами (ODBC+SQL) найти в базе связи между таблицами?
...
Рейтинг: 0 / 0
05.02.2004, 19:29
    #32400027
Ой Вэй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Извлечение связанных таблиц
Теоретически да. Существуют ODBC API
SQLTables, SQLColumns, SQLStatistics, SQLForeignKeys.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Извлечение связанных таблиц / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]