powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите, пожалуйста, с join-ом
14 сообщений из 14, страница 1 из 1
Помогите, пожалуйста, с join-ом
    #32093898
Tany
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица t1 (t1id number, t1t2id number) и t2(t2id number, t2name varchar2(20)). Делаю запрос SELECT t1.t1id, t2.t2name FROM t1
left join t2 ON t1.t1t2id=t2.t2id);
Выдается ошибка в строке 2:
ORA-01722: неверное число с указанием на t2.t2id.

Если left join заменить на просто join, то все работает хорошо, выдает правильный результат. Но мне обязятельно нужен левый джойн. Что делать?
...
Рейтинг: 0 / 0
Помогите, пожалуйста, с join-ом
    #32093968
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользуй оракловый синтаксис
Код: plaintext
1.
2.
...
where <some shit> (+) =  <some other shit>
...
Рейтинг: 0 / 0
Помогите, пожалуйста, с join-ом
    #32094032
Tany
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это не помогает
...
Рейтинг: 0 / 0
Помогите, пожалуйста, с join-ом
    #32094080
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему же...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SQL> create table t1 (t1id number, t1t2id number);

Table created.

SQL> create table t2 (t2id number, t2name varchar2( 20 ));

Table created.

SQL> select
   2      t1.t1id,
   3      t2.t2name
   4   from
   5      t1,
   6      t2
   7   where
   8      t1.t1t2id (+) = t2.t2id;

no rows selected


Единственно, я могу ошибаться, с какой стороны (+) поставить - всё время путаю, какой из этих джоинов левый, а какой - правый :).

Кстати, позволю себе пару советов:
1. Не включать имя таблицы в имя колонки - я раз 10 чертыхнулся, пока набрал :)
2. Если у колонки числовой тип, надо указывать конкретно, например, number (9,2) или number(10) и т.п. Подробности на эту тему - у Адамса.
...
Рейтинг: 0 / 0
Помогите, пожалуйста, с join-ом
    #32094082
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучшие собаководы, к тому же, рекомендуют приделывать констрейнты, если нет каких-либо серьёзных противопоказаний.
...
Рейтинг: 0 / 0
Помогите, пожалуйста, с join-ом
    #32094126
Aleksm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Если у колонки числовой тип, надо указывать конкретно, например, number (9,2) или number(10) и т.п. Подробности на эту тему - у Адамса.

не могли бы пояснить это утверждение?
...
Рейтинг: 0 / 0
Помогите, пожалуйста, с join-ом
    #32094151
Tany
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за участие, но фокус состоит в том, что на одном сервере этот запрос работал и сейчас работает, а на другом не работает, выдавая ошибку, хотя структуры и данные на обоих серверах АБСОЛЮТНО ОДИНАКОВЫЕ.
...
Рейтинг: 0 / 0
Помогите, пожалуйста, с join-ом
    #32094211
RifNik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А версии оракла тоже "АБСОЛЮТНО ОДИНАКОВЫЕ" ?
...
Рейтинг: 0 / 0
Помогите, пожалуйста, с join-ом
    #32094279
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Alexm: http://ixora.com.au - там где-то статья была про внутреннее представление числовых типов данных. Да и вообще сайт замечательный.

2All: честно говоря, не сталкивался никогда с синтаксисом типа left join и т.п. - это что, фича девятки?
...
Рейтинг: 0 / 0
Помогите, пожалуйста, с join-ом
    #32094391
Um
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Scott Tiger
ага, в девятке добавили спецоператоры соединения. Типа для совместимости кода и т.п.
...
Рейтинг: 0 / 0
Помогите, пожалуйста, с join-ом
    #32095237
Tany
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версии оракла одинаковые - 9.0.1
...
Рейтинг: 0 / 0
Помогите, пожалуйста, с join-ом
    #32095285
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, в compatible у одного стоит от 8i?
...
Рейтинг: 0 / 0
Помогите, пожалуйста, с join-ом
    #32095757
Tany
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9.0.0 у обоих
...
Рейтинг: 0 / 0
Помогите, пожалуйста, с join-ом
    #32095793
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Херня какая-то, извините, получается...
Точно всё правильно?
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите, пожалуйста, с join-ом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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