powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / использование USING для соединения таблиц по полю
12 сообщений из 12, страница 1 из 1
использование USING для соединения таблиц по полю
    #33148270
Igor7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в DB2 не работает. ? почему - или де собака ?
...
Рейтинг: 0 / 0
использование USING для соединения таблиц по полю
    #33149512
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нчгнпнл
...
Рейтинг: 0 / 0
использование USING для соединения таблиц по полю
    #33150416
Igor7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пример

2 таблицы. у обоих есть поле XXX_ID - соединяем их по этому полю:

select * from T1 join T2 using (XXX_ID);

Result

авторSQL0104N An unexpected token "END-OF-STATEMENT" was found following "CQRSYS.T2 using (XXX_ID)". Expected tokens may include: "JOIN <joined_table>". SQLSTATE=42601
...
Рейтинг: 0 / 0
использование USING для соединения таблиц по полю
    #33150436
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используй join, только синтаксис в доке посмотри....
...from t1 full outer join t2 on t1.id=t2.id..... типа такого что-то....
...
Рейтинг: 0 / 0
использование USING для соединения таблиц по полю
    #33150845
Igor7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор
Используй join, только синтаксис в доке посмотри....
...from t1 full outer join t2 on t1.id=t2.id..... типа такого что-то....


on работает корректно - вопрос не о тока как соеденить таблицы, а о том, как это сделать используя using - в доках написано как в пред. посте - реальность такого ПОЧЕМУ-ТО не позволяет.

(соединяя по on ... дает сильно много инструкци для соединения большого колл. таблиц с одой колонкой общей)
...
Рейтинг: 0 / 0
использование USING для соединения таблиц по полю
    #33151136
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему "реальность" должна это позволять? Вообще, какой реальный SQL-сервер такое поддерживает? (вряд ли больше одного - какая-нибудь жуткая экзотика).

Я слышал о конструкции

select * from T1 NATURAL join T2; -- соединение по одноимённым полям

но про USING даже не подозревал.

Реальность в данном случае - это http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/admin/r0000875.htm

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
                      .-INNER-----.
>>-+-table-reference--+-----------+--JOIN--table-reference--ON--join-condition-+-><
   |                  '-| outer |-'                                            |
   '-(--joined-table--)--------------------------------------------------------'

outer:

              .-OUTER-.
|--+-LEFT--+--+-------+-----------------------------------------|
   +-RIGHT-+
   '-FULL--'

Что касается экономии, с DB2 можно сэкономить на AND'ах, сравнивая "векторами".

select ... from t1 join t2 on (t1.f1,t1.f2,t1.f3)=(t2.f1,t2.f2,t2.f3)

кстати, работают и такие конструкции, как

SET (v1,v2,v3)=(SELECT f1,f2,f3...
...
Рейтинг: 0 / 0
использование USING для соединения таблиц по полю
    #33151248
Astron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Victor MetelitsaВообще, какой реальный SQL-сервер такое поддерживает? (вряд ли больше одного - какая-нибудь жуткая экзотика).


Я знаю про 2 - MySQL и Oracle
Если майскул еще туда-сюда (хотя на этой самоделке 70% веб серверов живут), то уж Oracle экзотикой обозвать - круто :-)
...
Рейтинг: 0 / 0
использование USING для соединения таблиц по полю
    #33151265
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну... MySQL я за SQL-сервер не держу, пусть он хоть 99.999% вебсерверов будет обслуживать...

Да, вижу - в Oracle 9.2 есть этот USING. Значит, не экзотика. Хотя... у нас все три оракулиные системы на Oracle 8i, и разработчики принципиально не собираются переходить на более новые версии. t1.f1=t2.f1(+) and ... and t1.fN=t2.fN(+) за милую душу ;-)
...
Рейтинг: 0 / 0
использование USING для соединения таблиц по полю
    #33151901
Astron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну да, про майскул +1, хотя не у Oracle же они это слизали? Не успели бы, по ремени выхода версий.
При том, что DB2 для майскуля является одним из основных объектов для подражания. Процедурный язык, по крайней мере, слизали практически до запятой.
До USING даже M$ SQL не додумались, значит слизано это еще с какого-то сервера, так что есть еще 1 наверняка :-)
...
Рейтинг: 0 / 0
использование USING для соединения таблиц по полю
    #33152716
Igor7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем спасибо,

так и подозревал - потому как в Oracle 9.0 уже работает, но на данный момент приходится иметь дело с DB2 ;-(

так же спасибо за альтернативы
...
Рейтинг: 0 / 0
использование USING для соединения таблиц по полю
    #33152725
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не ;-(, а ;-)

;-)
...
Рейтинг: 0 / 0
использование USING для соединения таблиц по полю
    #33152744
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читайте "кулинарную книжку" - http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM
!!!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / использование USING для соединения таблиц по полю
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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