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 ЦеныВДолларе.Валюта = СрезКурсДоллар.ТекущийЭлемент