Страница 1 из 2
Выборка с условием "не"
Добавлено: 17 янв 2005, 16:51
Sv.Stinger
Есть две таблицы transp и katzak, как сделать выборку только тех полей в transp, на которые в katzak.ctransp ничего нет. То есть те, у которых katzak.ctransp не равно transp.nrec.
Существует ли способ это сделать ?
Буду благодарен за помощь.
Если это уже где-нить описывалось, дайте плз ссылку.
Сорри за ламерство =)
Re: Выборка с условием "не"
Добавлено: 17 янв 2005, 16:58
Vitas
0==katzak.ctransp
или филтр в запрос, где
and (katzak.ctransp<>transp.nrec)
Re: Выборка с условием "не"
Добавлено: 17 янв 2005, 17:08
Sv.Stinger
При 0==katzak.ctransp пишет нужен ключ ctransp для katzak а при katzak.ctransp<>transp.nrec (я уже пробовал) -впадает в бесконечность, может я неправильно поставил вопрос, в общем мне надо чтоб выбрались только те ТС на которые не заведены заказы.
Re: Выборка с условием "не"
Добавлено: 17 янв 2005, 17:17
Johny
А если так 0==katzak.ctransp(noindex)
Re: Выборка с условием "не"
Добавлено: 17 янв 2005, 17:23
Sv.Stinger
Если так, то в ответ пустота =(
Re: Выборка с условием "не"
Добавлено: 17 янв 2005, 17:26
Sv.Stinger
Просто если 0==katzak.ctransp то это заказ в котором не указано ТС, а надо ТС для которого НЕТ заказа, чет я совсем загрузился ... надо покурить ...
Re: Выборка с условием "не"
Добавлено: 17 янв 2005, 17:46
Max_Fin
Если я правильно понял, то
select transp.*
from transp, katzak
where
((
transp.nrec == katzak.ctransp (noindex)
))
and not IsValidAll(tnKatZak);
правда ооооочень мееееедленоооооо должно работать.
Re: Выборка с условием
Добавлено: 17 янв 2005, 19:03
Sv.Stinger
Да работает оооочень медленно =), правда и результата не дает, ща еще потестю ...
Re: Выборка с условием
Добавлено: 17 янв 2005, 19:42
Sv.Stinger
Чет никак не хочет ... хм как же сделать...
Через гемор почти получается, но должен же быть более простой способ ...
Re: Выборка с условием
Добавлено: 18 янв 2005, 14:30
Vitas
select *
from transp, katzak
where
((
transp.nrec == katzak.ctransp (noindex)
and (katzak.ctransp<>transp.nrec)
));
Re: Выборка с условием
Добавлено: 18 янв 2005, 14:33
Vitas
Блин, чего лажу я какую то написал,
попробуй лучше
select *
from transp
where
(transp.nrec<>katzak.ctransp)
;
Re: Выборка с условием
Добавлено: 18 янв 2005, 15:05
stray
если для отчета, можно предложить такую штуку:
- сваливаешь katzak.ctransp во временную таблицу (чтобы по одному nrec-у было)
- дальше проверяешь transp.nrec во врем.табл. (ес нет выводишь из transp что нужно)
работает дост. быстро, не виснет!
Re: Выборка с условием
Добавлено: 18 янв 2005, 18:46
blackoff
может вот так?
select * from transp
where
((transp.nrec == katzak.ctransp))
and Not(IsValidAll(1))
;
не проверял, так что может и вылететь галка
;D
Re: Выборка с условием
Добавлено: 18 янв 2005, 18:53
blackoff
А ну уже Max_fin предлагал.... не заметил сорри
А вроде другого варианта и нет
(((
Re: Выборка с условием
Добавлено: 19 янв 2005, 17:00
Sv.Stinger
Вариант работающий есть, но он формируется, с тем количеством заказов что у меня от 3 часов, что ни есть гуд, а быстрые варианты как-то криво работают ...