SELECT  	ЦеныВДолларе.Квартира  [Квартира $Справочник],ЦеныВДолларе.КатегорияЦены  [КатегорияЦены $Справочник.КатегорииЦен], 
 			СпрВалюты.ID [Валюта $Справочник.Валюты],
 			CASE WHEN ISNULL(ЦеныСправочникНеДоллар.Цена,0) <> 0 THEN 
	       		ISNULL(ЦеныСправочникНеДоллар.Цена,0)
	  		ELSE 
			CASE WHEN (СпрВалюты.ID <> ЦеныВДолларе.Валюта) AND (cast( СрезКурсы.КурсУправленческийПокупка  as real) <> 0)  THEN 
	        	(cast(ЦеныВДолларе.Цена as real) *  cast(СрезКурсДоллар.КурсУправленческийПродажа as real)  /   cast( СрезКурсы.КурсУправленческийПокупка  as real) ) 
 		 	ELSE ЦеныВДолларе.Цена  END 
 			END AS Цена,
 			CASE WHEN   (СпрВалюты.ID = '     2   ')  THEN 0 
 	  		WHEN ISNULL(ЦеныСправочникНеДоллар.Цена,0) <> 0 THEN 
				0 
 			ELSE 1 END AS ФлагРасчета
FROM SC14 AS СпрВалюты (nolock) 
CROSS JOIN (
				SELECT СпрЦены.SP7907 AS Квартира, СпрЦены.SP7895 AS КатегорияЦены,
			 			СпрЦены.SP7893 Валюта ,
 			 			Цена Цена 
				FROM (
	select
		vt_slicelast_SC7892.ТекущийЭлемент
		
		,max(vt_slicelast_SC7892.Цена) as Цена
	from (
		select
			slicelast_SC7892.objid ТекущийЭлемент
			
			,case when slicelast_SC7892.id = 7897 then slicelast_SC7892.VALUE end Цена
		from (
			
			select tconst_4.objid, tconst_4.id, tconst_4.date, tconst_4.time, tconst_4.docid, tconst_4.value
			from (
				select tconst_3.objid, tconst_3.id, tconst_3.date, tconst_3.time, max(tconst_3.docid) docid
				from (
					select tconst_2.objid, tconst_2.id, tconst_2.date, max(tconst_2.time) time
					from (
						select tconst_1.objid, tconst_1.id, max(tconst_1.date) date
						from _1SCONST tconst_1 (nolock)
						
						where tconst_1.date <= '20120330'
						and tconst_1.id = 7897
						
						group by tconst_1.id, tconst_1.objid) slicelast_SC78921
					inner join _1SCONST tconst_2 (nolock)
					on slicelast_SC78921.id = tconst_2.id
					and slicelast_SC78921.objid = tconst_2.objid
					and slicelast_SC78921.date = tconst_2.date
					group by tconst_2.id, tconst_2.objid, tconst_2.date) slicelast_SC78922				
				inner join _1SCONST tconst_3 (nolock)
				on slicelast_SC78922.id = tconst_3.id
				and slicelast_SC78922.objid = tconst_3.objid
				and slicelast_SC78922.date = tconst_3.date
				and slicelast_SC78922.time = tconst_3.time
				group by tconst_3.id, tconst_3.objid, tconst_3.date, tconst_3.time) slicelast_SC78923
			inner join _1SCONST tconst_4 (nolock)
			on slicelast_SC78923.id = tconst_4.id
			and slicelast_SC78923.objid = tconst_4.objid
			and slicelast_SC78923.date = tconst_4.date
			and slicelast_SC78923.time = tconst_4.time
			and slicelast_SC78923.docid = tconst_4.docid
		) slicelast_SC7892
	) vt_slicelast_SC7892
	group by vt_slicelast_SC7892.ТекущийЭлемент
		

) AS СрезЦены
				LEFT JOIN SC7892 AS СпрЦены (nolock) ON СпрЦены.ID = СрезЦены.ТекущийЭлемент
				WHERE (CASE WHEN СпрЦены.ISMARK = 1 THEN 1 ELSE 0 END = 0) AND (СпрЦены.SP7893 = '     2   ' )   AND (СпрЦены.SP7907 = ' 66Q     8   ' )  
			) AS ЦеныВДолларе
LEFT JOIN (
						SELECT СпрЦены.SP7907 AS Квартира,СпрЦены.SP7895 AS КатегорияЦены,
					 		СпрЦены.SP7893 Валюта ,
		 			 		Цена Цена 
						FROM (
	select
		vt_slicelast_SC7892.ТекущийЭлемент
		
		,max(vt_slicelast_SC7892.Цена) as Цена
	from (
		select
			slicelast_SC7892.objid ТекущийЭлемент
			
			,case when slicelast_SC7892.id = 7897 then slicelast_SC7892.VALUE end Цена
		from (
			
			select tconst_4.objid, tconst_4.id, tconst_4.date, tconst_4.time, tconst_4.docid, tconst_4.value
			from (
				select tconst_3.objid, tconst_3.id, tconst_3.date, tconst_3.time, max(tconst_3.docid) docid
				from (
					select tconst_2.objid, tconst_2.id, tconst_2.date, max(tconst_2.time) time
					from (
						select tconst_1.objid, tconst_1.id, max(tconst_1.date) date
						from _1SCONST tconst_1 (nolock)
						
						where tconst_1.date <= '20120330'
						and tconst_1.id = 7897
						
						group by tconst_1.id, tconst_1.objid) slicelast_SC78921
					inner join _1SCONST tconst_2 (nolock)
					on slicelast_SC78921.id = tconst_2.id
					and slicelast_SC78921.objid = tconst_2.objid
					and slicelast_SC78921.date = tconst_2.date
					group by tconst_2.id, tconst_2.objid, tconst_2.date) slicelast_SC78922				
				inner join _1SCONST tconst_3 (nolock)
				on slicelast_SC78922.id = tconst_3.id
				and slicelast_SC78922.objid = tconst_3.objid
				and slicelast_SC78922.date = tconst_3.date
				and slicelast_SC78922.time = tconst_3.time
				group by tconst_3.id, tconst_3.objid, tconst_3.date, tconst_3.time) slicelast_SC78923
			inner join _1SCONST tconst_4 (nolock)
			on slicelast_SC78923.id = tconst_4.id
			and slicelast_SC78923.objid = tconst_4.objid
			and slicelast_SC78923.date = tconst_4.date
			and slicelast_SC78923.time = tconst_4.time
			and slicelast_SC78923.docid = tconst_4.docid
		) slicelast_SC7892
	) vt_slicelast_SC7892
	group by vt_slicelast_SC7892.ТекущийЭлемент
		

) AS СрезЦены
						LEFT JOIN SC7892 AS СпрЦены (nolock) ON СпрЦены.ID = СрезЦены.ТекущийЭлемент

						WHERE (CASE WHEN СпрЦены.ISMARK = 1 THEN 1 ELSE 0 END = 0) AND (СпрЦены.SP7893 <> '     2   ' )   AND (СпрЦены.SP7907 = ' 66Q     8   ' )   
				  ) AS ЦеныСправочникНеДоллар ON 
					(ЦеныСправочникНеДоллар.Валюта =  СпрВалюты.ID) AND
					(ЦеныВДолларе.Квартира = ЦеныСправочникНеДоллар.Квартира) AND
					(ЦеныВДолларе.КатегорияЦены = ЦеныСправочникНеДоллар.КатегорияЦены)
LEFT JOIN (
	select
		vt_slicelast_SC14.ТекущийЭлемент
		
		,max(vt_slicelast_SC14.КурсУправленческийПокупка) as КурсУправленческийПокупка
	from (
		select
			slicelast_SC14.objid ТекущийЭлемент
			
			,case when slicelast_SC14.id = 4506 then slicelast_SC14.VALUE end КурсУправленческийПокупка
		from (
			
			select tconst_4.objid, tconst_4.id, tconst_4.date, tconst_4.time, tconst_4.docid, tconst_4.value
			from (
				select tconst_3.objid, tconst_3.id, tconst_3.date, tconst_3.time, max(tconst_3.docid) docid
				from (
					select tconst_2.objid, tconst_2.id, tconst_2.date, max(tconst_2.time) time
					from (
						select tconst_1.objid, tconst_1.id, max(tconst_1.date) date
						from _1SCONST tconst_1 (nolock)
						
						where tconst_1.date <= '20120330'
						and tconst_1.id = 4506
						
						group by tconst_1.id, tconst_1.objid) slicelast_SC141
					inner join _1SCONST tconst_2 (nolock)
					on slicelast_SC141.id = tconst_2.id
					and slicelast_SC141.objid = tconst_2.objid
					and slicelast_SC141.date = tconst_2.date
					group by tconst_2.id, tconst_2.objid, tconst_2.date) slicelast_SC142				
				inner join _1SCONST tconst_3 (nolock)
				on slicelast_SC142.id = tconst_3.id
				and slicelast_SC142.objid = tconst_3.objid
				and slicelast_SC142.date = tconst_3.date
				and slicelast_SC142.time = tconst_3.time
				group by tconst_3.id, tconst_3.objid, tconst_3.date, tconst_3.time) slicelast_SC143
			inner join _1SCONST tconst_4 (nolock)
			on slicelast_SC143.id = tconst_4.id
			and slicelast_SC143.objid = tconst_4.objid
			and slicelast_SC143.date = tconst_4.date
			and slicelast_SC143.time = tconst_4.time
			and slicelast_SC143.docid = tconst_4.docid
		) slicelast_SC14
	) vt_slicelast_SC14
	group by vt_slicelast_SC14.ТекущийЭлемент
		

) AS СрезКурсы
				  ON СпрВалюты.ID = СрезКурсы.ТекущийЭлемент 
LEFT JOIN (
	select
		vt_slicelast_SC14.ТекущийЭлемент
		
		,max(vt_slicelast_SC14.КурсУправленческийПродажа) as КурсУправленческийПродажа
	from (
		select
			slicelast_SC14.objid ТекущийЭлемент
			
			,case when slicelast_SC14.id = 7910 then slicelast_SC14.VALUE end КурсУправленческийПродажа
		from (
			
			select tconst_4.objid, tconst_4.id, tconst_4.date, tconst_4.time, tconst_4.docid, tconst_4.value
			from (
				select tconst_3.objid, tconst_3.id, tconst_3.date, tconst_3.time, max(tconst_3.docid) docid
				from (
					select tconst_2.objid, tconst_2.id, tconst_2.date, max(tconst_2.time) time
					from (
						select tconst_1.objid, tconst_1.id, max(tconst_1.date) date
						from _1SCONST tconst_1 (nolock)
						
						where tconst_1.date <= '20120330'
						and tconst_1.id = 7910
						
						group by tconst_1.id, tconst_1.objid) slicelast_SC141
					inner join _1SCONST tconst_2 (nolock)
					on slicelast_SC141.id = tconst_2.id
					and slicelast_SC141.objid = tconst_2.objid
					and slicelast_SC141.date = tconst_2.date
					group by tconst_2.id, tconst_2.objid, tconst_2.date) slicelast_SC142				
				inner join _1SCONST tconst_3 (nolock)
				on slicelast_SC142.id = tconst_3.id
				and slicelast_SC142.objid = tconst_3.objid
				and slicelast_SC142.date = tconst_3.date
				and slicelast_SC142.time = tconst_3.time
				group by tconst_3.id, tconst_3.objid, tconst_3.date, tconst_3.time) slicelast_SC143
			inner join _1SCONST tconst_4 (nolock)
			on slicelast_SC143.id = tconst_4.id
			and slicelast_SC143.objid = tconst_4.objid
			and slicelast_SC143.date = tconst_4.date
			and slicelast_SC143.time = tconst_4.time
			and slicelast_SC143.docid = tconst_4.docid
		) slicelast_SC14
	) vt_slicelast_SC14
	group by vt_slicelast_SC14.ТекущийЭлемент
) AS СрезКурсДоллар
				  ON ЦеныВДолларе.Валюта = СрезКурсДоллар.ТекущийЭлемент