Aptem |
Отправлено: 08.09.2006, 19:33 |
|
Мастер участка
Группа: Участник
Сообщений: 349
|
Привет, всем.
Есть небольшое приложение, работающее с MS Access через ADO. Возникла трудность чтение данных из четырех таблиц с помощью операции соединения.
Вот таблицы:
1. goods
-------------
id_goods
name
price
quantity
----------------
2. transaction
----------------
id_transaction
amount
date
----------------
3. contractor
----------------
id_contractor
name
----------------
4. log
----------------
id_log
id_goods
id_contractor
date
----------------
Вообщем, необходимо получить запрос, которые выводит все записи таблицы log. Обычный запрос SELECET * FROM log Выводит id'шники, нужно чтобы выводились не id, а соответствующие им имена.
Пример:
Обычный запрос SELECET * FROM log выводит
1 15 33 12.12.2005, а нужно 1 телефон Иванов 12.12.2005.
Я разобрался как читать данные из двух таблиц, но с четырьмя наступает полный ступор. Помогите, пожалуйста, разобраться.
Спасибо за внимание.
|
|
AVC |
Отправлено: 11.09.2006, 08:24 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
transaction выпадает (не понятно как связана с logs)
Все "телефоны" по прежнему в goods, а конракторы в contractor?
Если да то можно так
Select
l.*
,g.name (price...)
,c.name
From
log l
,goods g
,contractor c
Where 1 =1
and g.id_goods = l.id_goods
and c.id_contractor = l.id_contractor |
|
Aptem |
Отправлено: 11.09.2006, 19:13 |
|
Мастер участка
Группа: Участник
Сообщений: 349
|
QUOTE (AVC @ 11.09.2006, 08:24) | transaction выпадает (не понятно как связана с logs)
|
Извиняюсь, ошибся в таблице log также есть id_transaction.
Все понял, мой косяк!
Оказывается запрос выводил пустые поля, потому что id в таблице log я забивал сам. А заранее не посмотрел, что таких id не существует. Вообщем, во всем разобрался. Спасибо за помощь.
Отредактировано Aptem — 11.09.2006, 19:13
|
|
|