Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Как это, блин, решить? (Помогите пожалуйста)  [new]
Корова из Индии
Guest
Есть две таблички, в каждой по 600к записей.
Делаю left join, получаю 42кк записей, а хочу только 600к записей из первой таблички.
Что я делаю не так и как это исправить?
Заранее спасибо

SELECT COUNT (*)
  FROM  ТАБЛИЦА1 src
       LEFT JOIN
        ТАБЛИЦА2 dst
       ON (    NVL (src.ПОЛЕ1, 0) = NVL (dst.ПОЛЕ1, 0)
           AND NVL (src.ПОЛЕ2, 0) = NVL (dst.ПОЛЕ2, 0)
           AND NVL (src.ПОЛЕ3, 0) = NVL (dst.ПОЛЕ3, 0)
           AND NVL (src.ПОЛЕ4, 0) = NVL (dst.ПОЛЕ4, 0)
           AND NVL (src.ПОЛЕ5, 0) = NVL (dst.ПОЛЕ5, 0)
           AND NVL (src.ПОЛЕ6, 0) = NVL (dst.ПОЛЕ6, 0)
           AND NVL (src.ПОЛЕ7, 0) = NVL (dst.ПОЛЕ7, 0)
           AND NVL (src.ПОЛЕ8, 0) = NVL (dst.ПОЛЕ8, 0)
           AND NVL (src.ПОЛЕ9, 0) = NVL (dst.ПОЛЕ9, 0)
           AND ПОЛЕ10 = '1')
29 окт 13, 13:33    [15046248]     Ответить | Цитировать Сообщить модератору
 Re: Как это, блин, решить? (Помогите пожалуйста)  [new]
Stepan_mk
Member

Откуда: Україна
Сообщений: 1299
А Вы уверены что у вас связь 1 к 1 ?
В применении конструкции NVL (src.ПОЛЕ1, 0) уверены ?
Если у вас в табличке на ряду с null есть и 0 в тех полях то соответсвенно и дубликаты наплодятся.

А вообще разберитись с полем (полями) по которым нужно джоин делать.
29 окт 13, 13:39    [15046287]     Ответить | Цитировать Сообщить модератору
 Re: Как это, блин, решить? (Помогите пожалуйста)  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51771

Корова из Индии
Что я делаю не так и как это исправить?

Ты поместил условие фильтрации "ПОЛЕ10 = '1'" в кляузу ON вместо WHERE.

Posted via ActualForum NNTP Server 1.5

29 окт 13, 14:05    [15046492]     Ответить | Цитировать Сообщить модератору
 Re: Как это, блин, решить? (Помогите пожалуйста)  [new]
Корова из Индии
Guest
Stepan_mk,

Данный список полей является бизнес-ключем и изменить этот список не получается.
Вероятно, мне придется как-то убирать нули...
Но Вы мне помогли, спасибо большое.
29 окт 13, 14:18    [15046596]     Ответить | Цитировать Сообщить модератору
 Re: Как это, блин, решить? (Помогите пожалуйста)  [new]
крандаш
Guest
незачто
12 ноя 13, 06:51    [15112812]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить