select svob_nom.N_Tel
from SVOB_NOM,base_main
where SVOB_NOM.N_TEL <> base_main.N_Tel
дублирование нужных записей в запросе. в чем проблема?
В первой таблице всего две записи: 95000 и 96000.
Во второй таблице 5000 записей, от 95000 до 99999.
Делаю запрос, который должен выводить все записи из второй таблицы, которые не встречаются в первой.
Код:
В результате выдает 9998 записей. При этом те записи, которые не встречаются в первой таблице, продублированы.
В чем ошибка/проблема?
FireBird 2.0 + IBX
Код:
select base_main.N_Tel as base_Tel, svob_nom.N_Tel
...................
...................
Думаю сам поймеш в чем проблема. Если не поймеш почитай про декартовое произведение.
Цитата: Gluckodrom
Имеется 2 таблицы. Первая: base_main имеет поле N_Tel Numeric(10,0) и другие поля. Вторая: svob_nom имеет только одно поле N_Tel Numeric(10,0). Таблицы никак не связаны.
В первой таблице всего две записи: 95000 и 96000.
Во второй таблице 5000 записей, от 95000 до 99999.
Делаю запрос, который должен выводить все записи из второй таблицы, которые не встречаются в первой.
В результате выдает 9998 записей. При этом те записи, которые не встречаются в первой таблице, продублированы.
В чем ошибка/проблема?
FireBird 2.0 + IBX
В первой таблице всего две записи: 95000 и 96000.
Во второй таблице 5000 записей, от 95000 до 99999.
Делаю запрос, который должен выводить все записи из второй таблицы, которые не встречаются в первой.
Код:
select svob_nom.N_Tel
from SVOB_NOM,base_main
where SVOB_NOM.N_TEL <> base_main.N_Tel
from SVOB_NOM,base_main
where SVOB_NOM.N_TEL <> base_main.N_Tel
В результате выдает 9998 записей. При этом те записи, которые не встречаются в первой таблице, продублированы.
В чем ошибка/проблема?
FireBird 2.0 + IBX
делаешь FULL JOIN и затем условием WHERE SVOB_NOM.N_TEL NOT NULL отбираешь
Помог!