powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Соединение таблиц join-ом, используя using
1 сообщений из 1, страница 1 из 1
Соединение таблиц join-ом, используя using
    #39071836
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Допустим, есть три таблицы, ссылающиеся друг на друга по нескольким полям, 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
1 сообщений из 1, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Соединение таблиц join-ом, используя using
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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