Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите, пожалуйста, с join-ом / 14 сообщений из 14, страница 1 из 1
21.01.2003, 12:08
    #32093898
Tany
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, пожалуйста, с join-ом
Есть таблица 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
21.01.2003, 13:14
    #32093968
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, пожалуйста, с join-ом
Пользуй оракловый синтаксис
Код: plaintext
1.
2.
...
where <some shit> (+) =  <some other shit>
...
Рейтинг: 0 / 0
21.01.2003, 14:00
    #32094032
Tany
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, пожалуйста, с join-ом
это не помогает
...
Рейтинг: 0 / 0
21.01.2003, 14:53
    #32094080
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите, пожалуйста, с join-ом
Почему же...

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

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

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


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