Страница 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 часов, что ни есть гуд, а быстрые варианты как-то криво работают ...