![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Объединение таблиц по нескольким полям [D5, Access (ADO)]
Yurko © (2004-09-09 15:16:00)Есть таблица 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 16:50:00) [1]это совсем по другому
вот так
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 если одного нет чем вся строка пропадет)
Yurko (2004-09-09 16:22:00) [2]...вот, что нужно.
Yurko (2004-09-09 16:20:00) [3]таблица 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
......
sniknik (2004-09-09 15:45:00) [4]> А нужно все.
тогда OR
> Или Вы имели ввиду что-то другое?
нет именно это, но откуда же я знал что нужно все?
приведи пример данных, и образец нужной выборки, это будет проще.
Yurko (2004-09-09 15:29:00) [5]Если пишу
..........,
INNER JOIN B ON (A.F1=B.F1)AND(A.F2=B.F1)
то получаю толькоте строки в которых A. F1и A. F2равны.
А нужно все.
Или Вы имели ввиду что-то другое?
sniknik (2004-09-09 15:19:00) [6]AND