Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.15;
Скачать: CL | DM;

Вниз

Связывание трех таблиц   Найти похожие ветки 

 
N&N   (2003-04-17 16:51) [0]

Привет мастера будьте так снисходительны
подскажите особо тупому как составить правильный запрос для соединения трех таблиц. Суть дела такова
в каждой таблице есть одинаковые поля field_id, в t1 первичный ключ, а в t2 и t3 внешние.
Надо сделать запрос чтобы в первой колонке выбирались фамилии из 1-й таблицы, а во второй и третьей суммировались значения из 2-й и 3-й таблиц.
У меня при таком запросе
select t1.FIO, sum(t2.field1), sum(t3. field1)
from table1 t1
join Table2 on t1.field_id=t2.field_id
join Table3 on t1.field_id=t3.field_id
group by t1.FIO
выдает какую-то дребедень


 
Johnmen ©   (2003-04-17 17:07) [1]

Какую ?


 
samalex   (2003-04-17 17:15) [2]

после join Table2 забыл t2, Table3 ... t3


 
Yuraz ©   (2003-04-17 17:19) [3]

where
a=b
c=d
e=f
типа так, поля свои подставь.


 
N&N   (2003-04-18 08:40) [4]

Дребедень такого вида: когда присоединяю таблицу t3, то все суммы во 2-й колонке увеличиваются на количество раз, равное числу записей для каждой фамилии


 
ЮЮ ©   (2003-04-18 08:50) [5]

Так и должно быть, произведение, однако.
Не знаю как в IB со вложенными запросами, типа

SELECT t1.FIO, sum1, sum2
FROM
Table1 t1
LEFT JOIN (
SELECT field_id, sum(field1) sum1
FROM Table2
GROUP by field_id
) st2 ON t1.field_id = st2.field_id
LEFT JOIN (
SELECT field_id, sum(field1) sum2
FROM Table3
GROUP by field_id
) st3 ON t1.field_id = st3.field_id

Если не поддерживаются, то подзапросы - во View, или всё это объединение - в ХП


 
Johnmen ©   (2003-04-18 09:23) [6]

select
t1.FIO,
(select sum(t2.field1) from Table2 t2
where t1.field_id=t2.field_id) as s1,
(select sum(t3. field1) from Table3 t3
where t1.field_id=t3.field_id) as s2,
from table1 t1
group by t1.FIO


 
N&N   (2003-04-23 07:49) [7]

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



Страницы: 1 вся ветка

Текущий архив: 2003.05.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
3-46639
N&N
2003-04-17 16:51
2003.05.15
Связывание трех таблиц


6-46875
LORD
2003-03-17 18:07
2003.05.15
Номер сокета


14-46923
Dim!S
2003-04-25 11:41
2003.05.15
Oracle, MSSQL или FireBird


1-46694
BlackTiger
2003-05-02 20:20
2003.05.15
Можно ли сделать модальную форму resizeable?


11-46676
Q_Boy
2002-08-12 16:37
2003.05.15
KOL и BMP