Вниз
Скачать: 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.977 c
14-1095214894
Soft
2004-09-15 06:21
2004.10.10
Первый сервисный робот использует Windows XP.


6-1091533976
Victor
2004-08-03 15:52
2004.10.10
Чат на сокетах


4-1093845468
Роман Снегирев
2004-08-30 09:57
2004.10.10
MMF


1-1095752480
Turbid
2004-09-21 11:41
2004.10.10
UTF-8?


4-1094652268
Ivanov_F.
2004-09-08 18:04
2004.10.10
Как узнать сколько занимает в памяти какой-то процесс?




   Наверх