Вниз
Скачать: CL | DM;

Объединение таблиц по нескольким полям   Найти похожие ветки 

 
Yurko   (2004-09-09 15:16) [0]

Есть таблица A с полями F1 и F2: Integer, и таблица B с полями F1: Integer и F2: String.
Поля A.F1 и A.F2 есть ссылками на поле B.F2 через B.F1.
Помогите составить запрос на выборку записей из A но с соответствующими значениями B.F2.
Для одного поля делаю так:
SELECT B.F2
FROM A
INNER JOIN B ON (A.F1=B.F1)

Но как сделать тоже для A.F1 и A.F2 не знаю.
Помогите, пожалуйста!


 
sniknik ©   (2004-09-09 15:19) [1]

AND


 
Yurko   (2004-09-09 15:29) [2]

Если пишу
..........
INNER JOIN B ON (A.F1=B.F1)AND(A.F2=B.F1)
,
то получаю толькоте строки в которых A.F1 и A.F2 равны.
А нужно все.
Или Вы имели ввиду что-то другое?


 
sniknik ©   (2004-09-09 15:45) [3]

> А нужно все.
тогда OR
> Или Вы имели ввиду что-то другое?
нет именно это, но откуда же я знал что нужно все?

приведи пример данных, и образец нужной выборки, это будет проще.


 
Yurko   (2004-09-09 16:20) [4]

таблица B
F1  F2
1    str1
2    str2
3    str3
4    str4
5    str5

таблица A
F1  F2
2    5
1    1
4    1
3    5
2    2
5    3
......

результат выборки
str2    str5
str1    str1
str4    str1
str3    str5
str2    str2
str5    str3
......


 
Yurko   (2004-09-09 16:22) [5]

...вот, что нужно.


 
sniknik ©   (2004-09-09 16:50) [6]

это совсем по другому
вот так
SELECT B.F2, C.F2
FROM (ATable AS A LEFT JOIN BTable AS B ON A.F1=B.F1) LEFT JOIN BTable AS C ON A.F2=C.F1


(left join здесь по моему лутше, уж пусть будет null если одного нет чем вся строка пропадет)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
9-1085024752
Hater
2004-05-20 07:45
2004.10.10
Сохранение игры


14-1095717751
VAmpiro$
2004-09-21 02:02
2004.10.10
Что такое "Hendle" и как с ним боротся?


14-1095850672
by
2004-09-22 14:57
2004.10.10
Можно ли ориентироваться на постоянные данные?


14-1095795066
Opilki_Inside
2004-09-21 23:31
2004.10.10
Кто-нибудь сталкивался с Qt-library?


4-1094461814
Паскаль
2004-09-06 13:10
2004.10.10
button1.enabled:=sendmessage(...,em_canudo,0,0) выдает ошибку!




   Наверх