Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Соединение таблиц join-ом, используя using / 1 сообщений из 1, страница 1 из 1
08.10.2015, 12:45
    #39071836
Павел Гужанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соединение таблиц join-ом, используя using
Здравствуйте.
Допустим, есть три таблицы, ссылающиеся друг на друга по нескольким полям, table1, table2, table3. Ключевые поля имеют во всех таблицах одинаковые имена, field1, field2, field3. Если написать запрос вида:
Код: plsql
1.
2.
3.
select * from table1
join table2
using (field1, field2, field3)


то все работает. А если в запрос включить третью таблицу:
Код: plsql
1.
2.
3.
4.
5.
select * from table1
join table2
using (field1, field2, field3)
join table3
using (field1, field2, field3)


То получается ошибка "Name field1 is ambiquous". Все правильно, не у всех записей могут быть связанные в разных таблицах.
Пытаюсь указать конкретно имя таблицы:
Код: plsql
1.
2.
3.
4.
5.
select * from table1 t1
join table2 t2
using (field1, field2, field3)
join table3 t3
using (t1.field1, t1.field2, t1.field3)


тоже ошибка "Token . was not valid. Valid tokens: ),"

Можно ли как-то соединить больше двух таблиц по нескольким полям, используя using?
Про on и and я в курсе. Про такое объединение:
Код: plsql
1.
2.
3.
4.
5.
select * from table1 t1
join table2 t2
on (t2.field1, t2.field2, t2.field3) = (t1.field1, t1.field2, t1.field3)
join table3 t3
on (t3.field1, t3.field2, t3.field3) = (t1.field1, t1.field2, t1.field3)


тоже в курсе, но у меня as400 версии v5r3, в ней такое не работает
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Соединение таблиц join-ом, используя using / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]