Показать сообщение отдельно
Старый 07.02.2011, 11:59   #2  
online
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,651 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Существует системная таблица VirtualDataAreaList, которая содержит пары соответствия виртуальных и реальных компаний. Ее и можно использовать в запросах примерно таким образом.

tab1 - не виртуализирована
tab2 - виртуализирована

X++:
select *
from tab1
inner join tab2 on tab1.ID = tab2.ID --    
	--      
	and (tab1.dataAreaId = tab2.dataAreaId
		or exists(select 1 from VirtualDataAreaList vdal
			where vdal.virtualDataArea = tab2.dataAreaId
				and vdal.id = tab1.dataAreaId))
Нужно двойное условие сравнения кода компании, поскольку таблица может быть виртуализирована лишь по части компаний, а не по всем.
За это сообщение автора поблагодарили: trud (1).