Запросы, планы, оптимизация запросов, ...
Модераторы: kdv, CyberMax
-
dem
Сообщение
dem » 06 дек 2004, 14:10
Мистика какая то))
классика - две таблички, в одной поле num(всего 64000 строк), в другой поле num_policy_prior - соотвественно может быть или заполнено или пустое(строк ну так 50000 с хвостиком)
надо сделать выборку - столбец из одной таблички и соответсвующий ему из другой(или пустой)ю классика для left join
пишу
select p.num,jp.num_policy_prior as pjnum from tb_policy p left join tb_jurnal jp on (p.num=jp.num_policy_prior)
получаю 100000 с лишком записей
тоже самое с distinct
select distinct p.num,jp.num_policy_prior as pjnum from tb_policy p left join tb_jurnal jp on (p.num=jp.num_policy_prior)
дает нужный результат... в 64000 строк где правый столбец или нулл или связанное значение..
вопрос один - с какого...не работает первый запрос??????

????
-
Merlin
- Динозавр IB/FB
- Сообщения: 1502
- Зарегистрирован: 27 окт 2004, 11:44
Сообщение
Merlin » 06 дек 2004, 14:25
dem писал(а):Мистика какая то))
классика - две таблички, в одной поле num(всего 64000 строк), в другой поле num_policy_prior - соотвественно может быть или заполнено или пустое(строк ну так 50000 с хвостиком)
надо сделать выборку - столбец из одной таблички и соответсвующий ему из другой(или пустой)ю классика для left join
пишу
select p.num,jp.num_policy_prior as pjnum from tb_policy p left join tb_jurnal jp on (p.num=jp.num_policy_prior)
получаю 100000 с лишком записей
тоже самое с distinct
select distinct p.num,jp.num_policy_prior as pjnum from tb_policy p left join tb_jurnal jp on (p.num=jp.num_policy_prior)
дает нужный результат... в 64000 строк где правый столбец или нулл или связанное значение..
вопрос один - с какого...не работает первый запрос??????

????
И правда мистика. Почему запрос с дубликатами в правой таблице работает как должен, а не как нам хочется?

-
Гость
Сообщение
Гость » 06 дек 2004, 14:35
Merlin писал(а):
И правда мистика. Почему запрос с дубликатами в правой таблице работает как должен, а не как нам хочется?

угу))оно самое - сразу не разобрался...правда дубликаты оказались не специальные а так...левые)
а именно в правой таблице если соответсвия нет ставился 0...и в левой таблице среди номеров этот ) тоже нашелся)))...при том что автор базы уверял что такого там быть не должно
итог доверяй - но проверяй((