Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос данных из 3-х таблиц, не могу составить 
V
    Опции темы
WhiteSpirit
Дата 3.8.2006, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 1.6.2005
Где: Челябинск

Репутация: нет
Всего: нет



Подскажите плиз, как составить простейший запрос на следующую выборку:

Примерные таблицы:

табл.1 'Name'
id 
name
type_id
...

табл.2 'Type'
id
type
...

табл.3 'Oper'
id
name_id
sum
...

В результате запроса хотелось бы получить следующую таблицу:
...
name
type
sum
...

Запрос:

Код

select type, name from Name N, Type T, Oper O where  O.name_id=N.id and N.type_id=T.id 

в результатет выводится таблица где в поле type значения только первой записи по всем строкам
--------------------
To beer or no to beer
PM MAIL   Вверх
skyboy
Дата 3.8.2006, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 5
Всего: 260



Код

SELECT t.type,n.name,o.sum
FROM Oper o
INNER JOIN Name n
ON o.name_id=n.id
INNER JOIN Type t
ON n.type_id=t.id

Это?
PM MAIL   Вверх
WhiteSpirit
Дата 3.8.2006, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 1.6.2005
Где: Челябинск

Репутация: нет
Всего: нет



типа того, но более верный:

Код

SELECT Name.name, Type.type, Oper.sum
FROM Oper INNER JOIN (Name INNER JOIN Type ON Name.type_id = Type.id) ON Oper.name_id = Name.id;


получил запрос путем конструктора в аксессе.

Работать то он работает только вот смысл его я не очень понимаю. 
Может ли кто нибудь пояснить или дать ссылочку?

Заранее благодарен
--------------------
To beer or no to beer
PM MAIL   Вверх
bas
Дата 3.8.2006, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 14.8.2002
Где: Молдова, Кишинев

Репутация: нет
Всего: 2



Цитата(WhiteSpirit @  3.8.2006,  11:21 Найти цитируемый пост)
Может ли кто нибудь пояснить или дать ссылочку?

А в спавке Accessa не пробовал прочитать 
Справочик по языку Microsoft Jet SQL- Справочик  Microsoft Jet SQL- Язык обработки данных (DML) - Операция INNER JOIN, Операции LEFT JOIN, RIGHT JOIN

Цитата

Операцию INNER JOIN можно использовать в любом предложении FROM. Это самые обычные типы связывания. Они объединяют записи двух таблиц, если связующие поля обеих таблиц содержат одинаковые значения.

PM MAIL   Вверх
skyboy
Дата 3.8.2006, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 5
Всего: 260



WhiteSpirit, в след. раз размещай вопрос в соответствии с СУБД. Я-то тебе ответил в соответствии с синтаксисом MySQL... 
PM MAIL   Вверх
WhiteSpirit
Дата 3.8.2006, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 1.6.2005
Где: Челябинск

Репутация: нет
Всего: нет



если честно то мне вообще этот запрос нужен для IBase и там подходит формат MySQL "+"

Это сообщение отредактировал(а) WhiteSpirit - 3.8.2006, 16:54
--------------------
To beer or no to beer
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0616 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.