Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с запросом / 2 сообщений из 2, страница 1 из 1
25.03.2002, 09:40
    #32026106
Андре
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста с запросом
Данные описывают структуру базы данных. Но так, как они получены из разных источников, то часть данных хранится в одной таблице, а часть в двух других. Структура таблиц такова:

Таблица 1 - Info:

TableName
FieldName
Info

Таблица 2 - Tables

TableID
TableName
Info

Таблица 3 - Fields

FieldId
TableID
FieldName
Info

Таблицы Tables и Fields соединены по полю TableID
Таблица Info соединена с таблице Tables по полю TableName, а с таблицей Fields по полю FieldName.

Необходимо получить select'ом данные из всех трех таблиц.

Причем запрос:

select * from fields,tables
where tables.tableid=fields.tableid

возвращает больше записей, чем запрос

select * from info

То есть в таблице Info содержится информация не по всем полям, поэтому написать еще два логических выражения в раздел WHERE я не могу, так как вернется набор записей, который присутствует в Info, а остальные потеряются.

Вроде бы надо делать OUTER JOIN, но ни как не получается связать join'ом три таблицы.

Заранее спасибо.
...
Рейтинг: 0 / 0
25.03.2002, 11:42
    #32026122
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста с запросом
select ....
from fields
join tables on tables.tableid=fields.tableid
left outer join Info on Info.tablename = tables.tablename and Info.fieldname = tables.fieldname
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с запросом / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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