Hello, lvv!
[EMAIL PROTECTED] wrote:
Обычный запрос с left outer join:
select
dt.id,
dt.id_master,
dt.name
from
DETAIL_TABLE dt LEFT OUTER JOIN MASTER_TABLE mt
on dt.id_master = mt.id
where
mt.status = 1
order by dt.id_master, id
прочитай www.ibase.ru/devinfo/joins.htm
условием where ты УБИЛ всю LEFT таблицу, для
которой НЕТ записей в MT, то бишь mt.status is null.
select id
from MASTER_TABLE mt
where
mt.status = 1
это другой запрос. как
on dt.id_master = mt.id and mt.status = 1
order by ...
в общем, читай статью. похоже ты еще недопонимаешь left/right join
тоже возвращает все строки из DETAIL_TABLE.
Вопрос: это так и должно быть или это
ошибка?
left/right join собственно и нужен, чтобы получать
из left/right таблицы те строки, для которых нет соответствия
в условии join.
--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34