Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Теоретические аспекты и практические реализации создания, внедрения и использования баз данных, СУБД, хранилищ.
  • Страница:
  • 1

ТЕМА:

Oracle: Нужен левый join 12 года 8 мес. назад #2595

Есть таблица 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, то все работает хорошо, выдает правильный результат. Но мне обязятельно нужен левый джойн. Что делать?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle: Нужен левый join 12 года 8 мес. назад #2596

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) и т.п. Подробности на эту тему - у Адамса.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Время создания страницы: 0.190 секунд