powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / <Maxstring>File+6^%qarmac
34 сообщений из 34, показаны все 2 страниц
<Maxstring>File+6^%qarmac
    #38117539
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день! У нас случилось обновление одной из программ которое использует СУБД Cashe... А также в нашем отделе есть програмка написанная до меня которая тянет информацию из этой СУБД... После недавнего обновления появилась ошибка (см скрин)... Я не очень хорошо разбираюсь в СУБД Cashe. Не могли бы вы мне подсказать что это может быть.
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38117657
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13,

There has been an attempt to specify or create a data string longer than the implementation allows (32,767 characters).
<MAXSTRING>
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38117739
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т е получается что длина данного поля не должна быть более 32,767 символа?
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38117754
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое интересное... Для выгрузки из базы написаны 2 запроса... Они объединены оператором "Union" Так вот если их выполнять по отдельности то каждый из них работает... А вместе не хотят
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38117772
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот сам запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
452.
453.
454.
455.
456.
457.
458.
459.
460.
461.
462.
463.
464.
465.
466.
467.
468.
469.
470.
471.
472.
473.
474.
475.
476.
477.
478.
479.
480.
481.
482.
483.
484.
485.
486.
487.
488.
489.
490.
491.
492.
493.
494.
495.
496.
497.
498.
499.
500.
501.
502.
503.
504.
505.
506.
507.
508.
509.
510.
511.
512.
513.
514.
515.
516.
517.
518.
519.
520.
521.
522.
523.
524.
525.
526.
527.
528.
529.
530.
531.
532.
533.
534.
535.
536.
537.
538.
539.
540.
541.
542.
543.
544.
545.
546.
547.
548.
549.
550.
551.
552.
553.
554.
555.
556.
557.
558.
559.
560.
561.
562.
563.
564.
565.
566.
567.
568.
569.
570.
571.
572.
573.
574.
575.
576.
577.
578.
579.
580.
581.
582.
583.
584.
585.
586.
587.
588.
589.
590.
591.
592.
593.
594.
595.
596.
597.
598.
599.
600.
601.
602.
603.
604.
605.
606.
607.
608.
609.
610.
611.
612.
613.
614.
615.
616.
617.
618.
619.
620.
621.
622.
623.
624.
625.
626.
627.
628.
629.
630.
631.
632.
633.
634.
635.
636.
637.
638.
639.
640.
641.
642.
643.
644.
645.
646.
647.
648.
649.
650.
651.
652.
653.
654.
655.
656.
657.
658.
659.
660.
661.
662.
663.
664.
665.
666.
667.
668.
669.
670.
671.
672.
673.
674.
675.
676.
677.
678.
679.
680.
681.
682.
683.
684.
685.
686.
687.
688.
689.
690.
691.
692.
693.
694.
695.
696.
697.
698.
699.
700.
701.
702.
703.
704.
705.
706.
707.
708.
709.
710.
711.
712.
713.
714.
715.
716.
717.
718.
719.
720.
721.
722.
723.
724.
725.
726.
727.
728.
729.
730.
731.
732.
733.
734.
735.
736.
737.
738.
739.
740.
741.
742.
743.
744.
745.
746.
747.
748.
749.
/* 2010 - 2 */ 
SELECT DISTINCT
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 4 for 3)) as numeric(3,0)) as "RAION",
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 7 for 6)) as numeric(6,0)) as "REGNUMB",
	cast(To_number(Insurerfk->RegNumberPFR) as numeric(12,0)) as "ENTNMB", 
	cast(IsNull(to_number(Year),0) as numeric(4,0)) as "YEAR",
	cast(To_number(1) as numeric(2,0)) as "PERIOD",
	cast(IsNull(to_number(CountPeople),0) as numeric(7,0)) as "CNTZL",
	cast(IsNull(to_number(MeanWorker),0) as numeric(7,0)) as "MWRK",
	cast(IsNull(FormatVersion, 1) as numeric(1,0)) as "FVersion",
	cast(IsNull(+$piece(Fields,'R100_C3:',2),0) as numeric(15,2)) as "STR_100", 
	cast(IsNull(+$piece(Fields,'R100_C4:',2),0) as numeric(15,2)) as "NAK_100", 
	cast(IsNull(+$piece(Fields,'R110_C3:',2),0) as numeric(15,2)) as "STR_110", 
	cast(IsNull(+$piece(Fields,'R110_C4:',2),0) as numeric(15,2)) as "NAK_110", 
	cast(IsNull(+$piece(Fields,'R120_C3:',2),0) as numeric(15,2)) as "STR_120", 
	cast(IsNull(+$piece(Fields,'R120_C4:',2),0) as numeric(15,2)) as "NAK_120", 
	cast(IsNull(+$piece(Fields,'R140_C3:',2),0) as numeric(15,2)) as "STR_140", 
	cast(IsNull(+$piece(Fields,'R140_C4:',2),0) as numeric(15,2)) as "NAK_140", 
	cast(IsNull(+$piece(Fields,'R150_C3:',2),0) as numeric(15,2)) as "STR_150", 
	cast(IsNull(+$piece(Fields,'R150_C4:',2),0) as numeric(15,2)) as "NAK_150",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_200", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_210", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_214", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_215", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_216", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_220", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_221", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R300_C3:',2),0)
	as numeric(15,2)) as "STR_300", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R310_C3:',2),0)
	as numeric(15,2)) as "STR_310", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R314_C3:',2),0)
	as numeric(15,2)) as "STR_314", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R315_C3:',2),0)
	as numeric(15,2)) as "STR_315", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R316_C3:',2),0)
	as numeric(15,2)) as "STR_316", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R320_C3:',2),0)
	as numeric(15,2)) as "STR_320", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R321_C3:',2),0)
	as numeric(15,2)) as "STR_321",
	cast(0 as numeric(15,2)) as "STR_252",
	cast(0 as numeric(15,2)) as "STR_201_N3",
	cast(0 as numeric(15,2)) as "STR_202_N3",
	cast(0 as numeric(15,2)) as "STR_203_N3",
	cast(0 as numeric(15,2)) as "STR_211_N3",
	cast(0 as numeric(15,2)) as "STR_212_N3",
	cast(0 as numeric(15,2)) as "STR_213_N3",
	cast(0 as numeric(15,2)) as "STR_231_N3",
	cast(0 as numeric(15,2)) as "STR_232_N3",
	cast(0 as numeric(15,2)) as "STR_233_N3",
	cast(0 as numeric(15,2)) as "STR_250_N3",
	cast(0 as numeric(15,2)) as "STR_251_N3",
	cast(0 as numeric(15,2)) as "STR_201_03",
	cast(0 as numeric(15,2)) as "STR_202_03",
	cast(0 as numeric(15,2)) as "STR_203_03",
	cast(0 as numeric(15,2)) as "STR_211_03",
	cast(0 as numeric(15,2)) as "STR_212_03",
	cast(0 as numeric(15,2)) as "STR_213_03",
	cast(0 as numeric(15,2)) as "STR_231_03",
	cast(0 as numeric(15,2)) as "STR_232_03",
	cast(0 as numeric(15,2)) as "STR_233_03",
	cast(0 as numeric(15,2)) as "STR_250_03",
	cast(0 as numeric(15,2)) as "STR_251_03"
FROM 
	ASV_Entities.CalcStatementTitle a1 
where 
	Period = 2 and
	Year = 2010 and 
	Type = 1 and 
	IsActual = 1 and
	/*(IsNull(+$piece(Fields,'R110_C3:',2),0) + IsNull(+$piece(Fields,'R110_C4:',2),0) > 0) and*/
	CorrectNumber = (SELECT MAX(CorrectNumber) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual) = 1 AND (a1.InsurerFK = a2.InsurerFK)) and
	EnterDate = (SELECT MAX(EnterDate) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK))
UNION
/* 2010 - 1 */ 
SELECT DISTINCT
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 4 for 3)) as numeric(3,0)) as "RAION",
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 7 for 6)) as numeric(6,0)) as "REGNUMB",
	cast(To_number(Insurerfk->RegNumberPFR) as numeric(12,0)) as "ENTNMB", 
	cast(IsNull(to_number(Year),0) as numeric(4,0)) as "YEAR",
	cast(To_number(1) as numeric(2,0)) as "PERIOD",
	cast(IsNull(to_number(CountPeople),0) as numeric(7,0)) as "CNTZL",
	cast(IsNull(to_number(MeanWorker),0) as numeric(7,0)) as "MWRK",
	cast(IsNull(FormatVersion, 1) as numeric(1,0)) as "FVersion",
	cast(IsNull(+$piece(Fields,'R100_C3:',2),0) as numeric(15,2)) as "STR_100", 
	cast(IsNull(+$piece(Fields,'R100_C4:',2),0) as numeric(15,2)) as "NAK_100", 
	cast(IsNull(+$piece(Fields,'R110_C3:',2),0) as numeric(15,2)) as "STR_110", 
	cast(IsNull(+$piece(Fields,'R110_C4:',2),0) as numeric(15,2)) as "NAK_110", 
	cast(IsNull(+$piece(Fields,'R120_C3:',2),0) as numeric(15,2)) as "STR_120", 
	cast(IsNull(+$piece(Fields,'R120_C4:',2),0) as numeric(15,2)) as "NAK_120", 
	cast(IsNull(+$piece(Fields,'R140_C3:',2),0) as numeric(15,2)) as "STR_140", 
	cast(IsNull(+$piece(Fields,'R140_C4:',2),0) as numeric(15,2)) as "NAK_140", 
	cast(IsNull(+$piece(Fields,'R150_C3:',2),0) as numeric(15,2)) as "STR_150", 
	cast(IsNull(+$piece(Fields,'R150_C4:',2),0) as numeric(15,2)) as "NAK_150",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_200", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_210", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_214", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_215", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_216", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_220", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_221", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R300_C3:',2),0)
	as numeric(15,2)) as "STR_300", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R310_C3:',2),0)
	as numeric(15,2)) as "STR_310", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R314_C3:',2),0)
	as numeric(15,2)) as "STR_314", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R315_C3:',2),0)
	as numeric(15,2)) as "STR_315", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R315_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R315_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R315_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R315_C3:',2),0)
	as numeric(15,2)) as "STR_316", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R320_C3:',2),0)
	as numeric(15,2)) as "STR_320", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R321_C3:',2),0)
	as numeric(15,2)) as "STR_321",
	cast(0 as numeric(15,2)) as "STR_252",
	cast(0 as numeric(15,2)) as "STR_201_N3",
	cast(0 as numeric(15,2)) as "STR_202_N3",
	cast(0 as numeric(15,2)) as "STR_203_N3",
	cast(0 as numeric(15,2)) as "STR_211_N3",
	cast(0 as numeric(15,2)) as "STR_212_N3",
	cast(0 as numeric(15,2)) as "STR_213_N3",
	cast(0 as numeric(15,2)) as "STR_231_N3",
	cast(0 as numeric(15,2)) as "STR_232_N3",
	cast(0 as numeric(15,2)) as "STR_233_N3",
	cast(0 as numeric(15,2)) as "STR_250_N3",
	cast(0 as numeric(15,2)) as "STR_251_N3",
	cast(0 as numeric(15,2)) as "STR_201_03",
	cast(0 as numeric(15,2)) as "STR_202_03",
	cast(0 as numeric(15,2)) as "STR_203_03",
	cast(0 as numeric(15,2)) as "STR_211_03",
	cast(0 as numeric(15,2)) as "STR_212_03",
	cast(0 as numeric(15,2)) as "STR_213_03",
	cast(0 as numeric(15,2)) as "STR_231_03",
	cast(0 as numeric(15,2)) as "STR_232_03",
	cast(0 as numeric(15,2)) as "STR_233_03",
	cast(0 as numeric(15,2)) as "STR_250_03",
	cast(0 as numeric(15,2)) as "STR_251_03"
FROM 
	ASV_Entities.CalcStatementTitle a1 
where 
	Period = 1 and
	Year = 2010 and 
	Type = 1 and 
	IsActual = 1 and
	/*(IsNull(+$piece(Fields,'R110_C3:',2),0) + IsNull(+$piece(Fields,'R110_C4:',2),0) > 0) and*/
	CorrectNumber = (SELECT MAX(CorrectNumber) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual) = 1 AND (a1.InsurerFK = a2.InsurerFK)) and
	EnterDate = (SELECT MAX(EnterDate) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK)) and
	not exists
	(SELECT InsurerFK FROM ASV_Entities.CalcStatementTitle a2 WHERE (IsNull(+$piece(a2.Fields,'R110_C3:',2),0) + IsNull(+$piece(a2.Fields,'R110_C4:',2),0) > 0) AND (2 = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK))
UNION
/* 2010 - 4 */ 
SELECT DISTINCT
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 4 for 3)) as numeric(3,0)) as "RAION",
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 7 for 6)) as numeric(6,0)) as "REGNUMB",
	cast(To_number(Insurerfk->RegNumberPFR) as numeric(12,0)) as "ENTNMB", 
	cast(IsNull(to_number(Year),0) as numeric(4,0)) as "YEAR",
	cast(To_number(2) as numeric(2,0)) as "PERIOD",
	cast(IsNull(to_number(CountPeople),0) as numeric(7,0)) as "CNTZL",
	cast(IsNull(to_number(MeanWorker),0) as numeric(7,0)) as "MWRK",
	cast(IsNull(FormatVersion, 1) as numeric(1,0)) as "FVersion",
	cast(IsNull(+$piece(Fields,'R100_C3:',2),0) as numeric(15,2)) as "STR_100", 
	cast(IsNull(+$piece(Fields,'R100_C4:',2),0) as numeric(15,2)) as "NAK_100", 
	cast(IsNull(+$piece(Fields,'R110_C3:',2),0) as numeric(15,2)) as "STR_110", 
	cast(IsNull(+$piece(Fields,'R110_C4:',2),0) as numeric(15,2)) as "NAK_110", 
	cast(IsNull(+$piece(Fields,'R120_C3:',2),0) as numeric(15,2)) as "STR_120", 
	cast(IsNull(+$piece(Fields,'R120_C4:',2),0) as numeric(15,2)) as "NAK_120", 
	cast(IsNull(+$piece(Fields,'R140_C3:',2),0) as numeric(15,2)) as "STR_140", 
	cast(IsNull(+$piece(Fields,'R140_C4:',2),0) as numeric(15,2)) as "NAK_140", 
	cast(IsNull(+$piece(Fields,'R150_C3:',2),0) as numeric(15,2)) as "STR_150", 
	cast(IsNull(+$piece(Fields,'R150_C4:',2),0) as numeric(15,2)) as "NAK_150",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_200", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_210", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_214", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_215", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_216", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_220", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_221", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R300_C3:',2),0)
	as numeric(15,2)) as "STR_300", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R310_C3:',2),0)
	as numeric(15,2)) as "STR_310", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R314_C3:',2),0)
	as numeric(15,2)) as "STR_314", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R315_C3:',2),0)
	as numeric(15,2)) as "STR_315", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R316_C3:',2),0)
	as numeric(15,2)) as "STR_316", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R320_C3:',2),0)
	as numeric(15,2)) as "STR_320", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R321_C3:',2),0)
	as numeric(15,2)) as "STR_321",
	cast(0 as numeric(15,2)) as "STR_252",
	cast(0 as numeric(15,2)) as "STR_201_N3",
	cast(0 as numeric(15,2)) as "STR_202_N3",
	cast(0 as numeric(15,2)) as "STR_203_N3",
	cast(0 as numeric(15,2)) as "STR_211_N3",
	cast(0 as numeric(15,2)) as "STR_212_N3",
	cast(0 as numeric(15,2)) as "STR_213_N3",
	cast(0 as numeric(15,2)) as "STR_231_N3",
	cast(0 as numeric(15,2)) as "STR_232_N3",
	cast(0 as numeric(15,2)) as "STR_233_N3",
	cast(0 as numeric(15,2)) as "STR_250_N3",
	cast(0 as numeric(15,2)) as "STR_251_N3",
	cast(0 as numeric(15,2)) as "STR_201_03",
	cast(0 as numeric(15,2)) as "STR_202_03",
	cast(0 as numeric(15,2)) as "STR_203_03",
	cast(0 as numeric(15,2)) as "STR_211_03",
	cast(0 as numeric(15,2)) as "STR_212_03",
	cast(0 as numeric(15,2)) as "STR_213_03",
	cast(0 as numeric(15,2)) as "STR_231_03",
	cast(0 as numeric(15,2)) as "STR_232_03",
	cast(0 as numeric(15,2)) as "STR_233_03",
	cast(0 as numeric(15,2)) as "STR_250_03",
	cast(0 as numeric(15,2)) as "STR_251_03"
FROM 
	ASV_Entities.CalcStatementTitle a1 
where 
	Period = 4 and
	Year = 2010 and 
	Type = 1 and 
	IsActual = 1 and
	/*(IsNull(+$piece(Fields,'R110_C3:',2),0) + IsNull(+$piece(Fields,'R110_C4:',2),0) > 0) and*/
	CorrectNumber = (SELECT MAX(CorrectNumber) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual) = 1 AND (a1.InsurerFK = a2.InsurerFK)) and
	EnterDate = (SELECT MAX(EnterDate) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK))
UNION
/* 2010 - 3 */ 
SELECT DISTINCT
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 4 for 3)) as numeric(3,0)) as "RAION",
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 7 for 6)) as numeric(6,0)) as "REGNUMB",
	cast(To_number(Insurerfk->RegNumberPFR) as numeric(12,0)) as "ENTNMB", 
	cast(IsNull(to_number(Year),0) as numeric(4,0)) as "YEAR",
	cast(To_number(2) as numeric(2,0)) as "PERIOD",
	cast(IsNull(to_number(CountPeople),0) as numeric(7,0)) as "CNTZL",
	cast(IsNull(to_number(MeanWorker),0) as numeric(7,0)) as "MWRK",
	cast(IsNull(FormatVersion, 1) as numeric(1,0)) as "FVersion",
	cast(IsNull(+$piece(Fields,'R100_C3:',2),0) as numeric(15,2)) as "STR_100", 
	cast(IsNull(+$piece(Fields,'R100_C4:',2),0) as numeric(15,2)) as "NAK_100", 
	cast(IsNull(+$piece(Fields,'R110_C3:',2),0) as numeric(15,2)) as "STR_110", 
	cast(IsNull(+$piece(Fields,'R110_C4:',2),0) as numeric(15,2)) as "NAK_110", 
	cast(IsNull(+$piece(Fields,'R120_C3:',2),0) as numeric(15,2)) as "STR_120", 
	cast(IsNull(+$piece(Fields,'R120_C4:',2),0) as numeric(15,2)) as "NAK_120", 
	cast(IsNull(+$piece(Fields,'R140_C3:',2),0) as numeric(15,2)) as "STR_140", 
	cast(IsNull(+$piece(Fields,'R140_C4:',2),0) as numeric(15,2)) as "NAK_140", 
	cast(IsNull(+$piece(Fields,'R150_C3:',2),0) as numeric(15,2)) as "STR_150", 
	cast(IsNull(+$piece(Fields,'R150_C4:',2),0) as numeric(15,2)) as "NAK_150",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_200", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_210", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_214", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_215", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_216", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_220", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_221", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R300_C3:',2),0)
	as numeric(15,2)) as "STR_300", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R310_C3:',2),0)
	as numeric(15,2)) as "STR_310", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R314_C3:',2),0)
	as numeric(15,2)) as "STR_314", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R315_C3:',2),0)
	as numeric(15,2)) as "STR_315", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R316_C3:',2),0)
	as numeric(15,2)) as "STR_316", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R320_C3:',2),0)
	as numeric(15,2)) as "STR_320", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R321_C3:',2),0)
	as numeric(15,2)) as "STR_321",
	cast(0 as numeric(15,2)) as "STR_252",
	cast(0 as numeric(15,2)) as "STR_201_N3",
	cast(0 as numeric(15,2)) as "STR_202_N3",
	cast(0 as numeric(15,2)) as "STR_203_N3",
	cast(0 as numeric(15,2)) as "STR_211_N3",
	cast(0 as numeric(15,2)) as "STR_212_N3",
	cast(0 as numeric(15,2)) as "STR_213_N3",
	cast(0 as numeric(15,2)) as "STR_231_N3",
	cast(0 as numeric(15,2)) as "STR_232_N3",
	cast(0 as numeric(15,2)) as "STR_233_N3",
	cast(0 as numeric(15,2)) as "STR_250_N3",
	cast(0 as numeric(15,2)) as "STR_251_N3",
	cast(0 as numeric(15,2)) as "STR_201_03",
	cast(0 as numeric(15,2)) as "STR_202_03",
	cast(0 as numeric(15,2)) as "STR_203_03",
	cast(0 as numeric(15,2)) as "STR_211_03",
	cast(0 as numeric(15,2)) as "STR_212_03",
	cast(0 as numeric(15,2)) as "STR_213_03",
	cast(0 as numeric(15,2)) as "STR_231_03",
	cast(0 as numeric(15,2)) as "STR_232_03",
	cast(0 as numeric(15,2)) as "STR_233_03",
	cast(0 as numeric(15,2)) as "STR_250_03",
	cast(0 as numeric(15,2)) as "STR_251_03"
FROM 
	ASV_Entities.CalcStatementTitle a1 
where 
	Period = 3 and
	Year = 2010 and 
	Type = 1 and 
	IsActual = 1 and
	/*(IsNull(+$piece(Fields,'R110_C3:',2),0) + STR_202_N3IsNull(+$piece(Fields,'R110_C4:',2),0) > 0) and*/
	CorrectNumber = (SELECT MAX(CorrectNumber) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual) = 1 AND (a1.InsurerFK = a2.InsurerFK)) and
	EnterDate = (SELECT MAX(EnterDate) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK)) and
	not exists
	(SELECT InsurerFK FROM ASV_Entities.CalcStatementTitle a2 WHERE (4 = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK))
UNION
/* 2011 */ 
SELECT DISTINCT
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 4 for 3)) as numeric(3,0)) as "RAION",
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 7 for 6)) as numeric(6,0)) as "REGNUMB",
	cast(To_number(Insurerfk->RegNumberPFR) as numeric(12,0)) as "ENTNMB", 
	cast(IsNull(to_number(Year),0) as numeric(4,0)) as "YEAR",
	cast(To_number(Period) as numeric(2,0)) as "PERIOD",
	cast(IsNull(to_number(CountPeople),0) as numeric(7,0)) as "CNTZL",
	cast(IsNull(to_number(MeanWorker),0) as numeric(7,0)) as "MWRK",
	cast(IsNull(FormatVersion, 1) as numeric(1,0)) as "FVersion",
	cast(IsNull(+$piece(Fields,'R100_C3:',2),0) as numeric(15,2)) as "STR_100", 
	cast(IsNull(+$piece(Fields,'R100_C4:',2),0) as numeric(15,2)) as "NAK_100", 
	cast(IsNull(+$piece(Fields,'R110_C3:',2),0) as numeric(15,2)) as "STR_110", 
	cast(IsNull(+$piece(Fields,'R110_C4:',2),0) as numeric(15,2)) as "NAK_110", 
	cast(IsNull(+$piece(Fields,'R120_C3:',2),0) as numeric(15,2)) as "STR_120", 
	cast(IsNull(+$piece(Fields,'R120_C4:',2),0) as numeric(15,2)) as "NAK_120", 
	cast(IsNull(+$piece(Fields,'R140_C3:',2),0) as numeric(15,2)) as "STR_140", 
	cast(IsNull(+$piece(Fields,'R140_C4:',2),0) as numeric(15,2)) as "NAK_140", 
	cast(IsNull(+$piece(Fields,'R150_C3:',2),0) as numeric(15,2)) as "STR_150", 
	cast(IsNull(+$piece(Fields,'R150_C4:',2),0) as numeric(15,2)) as "NAK_150",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_200", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_210", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_214", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_215",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_216", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_220", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_221", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R300_C3:',2),0)
	as numeric(15,2)) as "STR_300", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R310_C3:',2),0)
	as numeric(15,2)) as "STR_310", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R314_C3:',2),0)
	as numeric(15,2)) as "STR_314", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R315_C3:',2),0)
	as numeric(15,2)) as "STR_315", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R316_C3:',2),0)
	as numeric(15,2)) as "STR_316", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R320_C3:',2),0)
	as numeric(15,2)) as "STR_320", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R321_C3:',2),0)
	as numeric(15,2)) as "STR_321",
	cast(
	IsNull(+$piece(Fields,'R252_C4:',2),0) + IsNull(+$piece(Fields,'R252_C5:',2),0) + IsNull(+$piece(Fields,'R252_C6:',2),0) +
	IsNull(+$piece(Fields,'R252_C4:',3),0) + IsNull(+$piece(Fields,'R252_C5:',3),0) + IsNull(+$piece(Fields,'R252_C6:',3),0) +
	IsNull(+$piece(Fields,'R252_C4:',4),0) + IsNull(+$piece(Fields,'R252_C5:',4),0) + IsNull(+$piece(Fields,'R252_C6:',4),0) 
	as numeric(15,2)) as "STR_252",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R201_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R201_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R201_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_201_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R202_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R202_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R202_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_202_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R203_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R203_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R203_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_203_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R211_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R211_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R211_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_211_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R212_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R212_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R212_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_212_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R213_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R213_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R213_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_213_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R231_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R231_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R231_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_231_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R232_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R232_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R232_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_232_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R233_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R233_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R233_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_233_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R240_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R240_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R240_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_250_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R241_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R241_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R241_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_251_N3",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R201_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R201_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R201_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_201_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R202_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R202_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R202_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_202_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R203_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R203_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R203_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_203_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R211_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R211_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R211_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_211_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R212_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R212_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R212_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_212_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R213_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R213_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R213_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_213_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R231_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R231_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R231_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_231_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R232_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R232_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R232_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_232_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R233_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R233_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R233_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_233_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R240_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R240_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R240_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_250_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R241_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R241_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R241_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_251_03"
FROM 
	ASV_Entities.CalcStatementTitle a1 
where 
	Year >= 2011 and 
	Type = 1 and 
	IsActual = 1 and
	/*(IsNull(+$piece(Fields,'R110_C3:',2),0) + IsNull(+$piece(Fields,'R110_C4:',2),0) > 0) and*/
	CorrectNumber = (SELECT MAX(CorrectNumber) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK)) and
	EnterDate = (SELECT MAX(EnterDate) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK))

...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38117773
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если это поле строка - да. Но можно включить длинные строки и это ограничение будет уже 3641144 символов. Или используйте потоки.

Также в самом запросе может быть формирование результирующей строки, превышающей максимально допустимый размер, например:
Код: sql
1.
select поле1||поле2||'sdf' from table

dartveider13<...>А вместе не хотятЭто как раз тот самый случай.
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38117969
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13Вот сам запрос
Какая утонченная форма садомазохизма
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38117984
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сломался-то запрос не на этапе выполнения, а на этапе подготовки. Т.е., возможно, оптимизатор получил на вход строку длиннее допустимой. Длинные строки точно разрешены? Какая версия Cache? Что выводит команда
Код: sql
1.
write $zu(69,69)
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38118008
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет самой СУБД... Я непосредственно с ней не работаю... Я только тяну выборки из БД, написанной на данном языке. Сама СУБД есть в др отделе. Данную команду опробовать нужно непосредственно в самой СУБД???

Насчет полей... Те кусочки поля которые тянутся в запросе селектом, это по сути одно поле в самой БД... Он там очень длинное
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38118051
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servitЕсли это поле строка - да. Но можно включить длинные строки и это ограничение будет уже 3641144 символов. Или используйте потоки.

Также в самом запросе может быть формирование результирующей строки, превышающей максимально допустимый размер, например:
Код: sql
1.
select поле1||поле2||'sdf' from table

dartveider13<...>А вместе не хотятЭто как раз тот самый случай.

Если не трудно, объясните как чукотскому человеку, как можно включить длинные строки и как использовать потоки.
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38118068
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13Сама СУБД есть в др отделе. Данную команду опробовать нужно непосредственно в самой СУБД???Да, в Cache терминале. Включить длинные строки проще всего в Портале управления системой.
Подключите специалиста из другого отдела, он нас быстрее поймёт.
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38118079
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13Если не трудно, объясните как чукотскому человеку, как можно включить длинные строки и как использовать потоки. Включение Длинных Строк
А потоки для Вашего случая бесполезны.
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38118105
AlexKB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintdartveider13Вот сам запрос
Какая утонченная форма садомазохизма

Такой себе простой SQL запрос...
На форуме MSSQL видел и похлеще!
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38118140
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да если бы не включать 2010 год то он бы был поменьше гораздо... Примерно в 4 раза... Если посмотреть конструкцию между юнионами, то можно увидеть что селект один и тот же... Просто в БД, которая использует СУБД каше есть что то типа мемо поля в которое запихана текстом вся форма РСВ-1
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38118148
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению отдел у которого есть доступ к терминалу уже домой убежали.... Вот как раз завтра буду мучать их по поводу длинных строк т к перед уходом я им позвонил а они сказали что сам каше поменялся у них. Так что буду завтра их терроризировать
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38119077
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые форумчане! Ваше предположение не сработало. Длинные строки были включены изначально, но наш отдел информационных технологий заметил что в ошибке присутствует некий "FILE". Посмотрев план выполнения запроса, было замечено что он пытается записать данные в какой то временный файл "Temp-file". Предполагается что в новой версии где то в настройках задается размер файла. Если знаете, подскажите где искать настройки данного временного файла.
Версии СУБД:
Так на которой все работало была - Cache 2010.22
Новая - Cache 2011.04
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38119113
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да... Еще хотел кое что дописать. Мы сравнивали план выполнения запроса в старой и новой версии. В старой версии используются 3 индекса. В новой 4 индекса. Добавился индекс года! Может это из за этого?
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38119266
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13, пинайте отдел разработки, ваш запрос должен возвращать список идентификаторов, подзапросы из Where спрячьте в хранимые процедуры, логику извлечения данных из длинного-длинного поля туда же. Потом добивайтесь от них индексируемых расчетных полей.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Select ID, 
  ASV_Entities.CalcStatementTitle_RAION(ID) as RAION,
  ASV_Entities.CalcStatementTitle_REGNUMB(ID) as REGNUMB,
  ....
FROM
 ASV_Entities.CalcStatementTitle
WHERE 
  ASV_Entities.CalcStatementTitle_LongWhereStatement(ID,:year,:period)=1

UNION
 ...
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38119332
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению отдел разработки находится в Красноярске, мы же находимся в Омске. Они не будут под конкретно мой запрос что то делать.. Это для них очень волокитно. Может у вас есть задумка как можно упростить мой запрос? Я уже даже незнаю. Пока что пытаюсь разбить его на части. Но тоже пока что результата не достиг
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38119334
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я впринципе также не имею прямого доступа к самой СУБД. Скажем так: человек который работал здесь до меня открыл доступ к таблицам базы и сделал в своей програмке встроеный SQL-редактор
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38119351
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13Так на которой все работало была - Cache 2010.22
Новая - Cache 2011.04Почти готовый запрос в WRC (техподдержку InterSystems), только номера версий правильно указать (упомянутых вами версий не существует). InterSystems к таким вещам ("всё работало - а в новой версии перестало") обычно относится очень трепетно...
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38119518
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаете, что без WRC уже не обойдется?
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38119539
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13, a DDL запросы вам разрешены? :)
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38119563
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13 Может у вас есть задумка как можно упростить мой запрос?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 Select 
  --код извлечения данных один раз
 From  ASV_Entities.CalcStatementTitle
 Where ID In (
   Select ID From ASV_Entities.CalcStatementTitle Where (year=2010 And period
   Union
   Select ID From ASV_Entities.CalcStatementTitle Where (year=2011 And period
   Union
   Select ID From ASV_Entities.CalcStatementTitle Where (year=2012 And period
)
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38119800
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13 ,

Текст Вашего текущего запроса явно превышает размер в 32Кб, что тоже не есть хорошо. Видоизменённый код doublefint уже Вам подсказал.
dartveider13Посмотрев план выполнения запроса, было замечено что он пытается записать данные в какой то временный файл "Temp-file". Предполагается что в новой версии где то в настройках задается размер файла. Если знаете, подскажите где искать настройки данного временного файла. TempDirectory dartveider13Длинные строки были включены изначально, но наш отдел информационных технологий заметил что в ошибке присутствует некий "FILE". FILE в <MAXSTRING>FILE+6^%qarmac - это метка в %qarmac, в которой возникла ошибка <MAXSTRING> (см. полный формат <ERROR>label+offset^routine в примерах к ZTRAP).
Немного другой вид этой же ошибки ( <MAXSTRING>%C0o+4^%sqlcq.TEST.cls9.1 ) можно получить простым запросом: select REPEAT('0',3641144)||'1'dartveider13Думаете, что без WRC уже не обойдется?В WRC сто́ит обратиться, но будьте готовы предоставить воспроизводимый пример .
Хотя думаю, уже по <MAXSTRING>FILE+6^%qarmac разработчики смогут понять в чём дело.
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38120036
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDL не разрешен. Только Select! Буду разбираться. Как прийду к чему нибудь так отпишусь
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38120676
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно что Cache не обрабатывает запрос такой длины
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38120741
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все супер... Выгружается на отлично)))) Код SQL получился следующий:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
SELECT DISTINCT
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 4 for 3)) as numeric(3,0)) as "RAION",
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 7 for 6)) as numeric(6,0)) as "REGNUMB",
	cast(To_number(Insurerfk->RegNumberPFR) as numeric(12,0)) as "ENTNMB", 
	cast(IsNull(to_number(Year),0) as numeric(4,0)) as "YEAR",
	cast(To_number(Period) as numeric(2,0)) as "PERIOD",
	cast(IsNull(to_number(CountPeople),0) as numeric(7,0)) as "CNTZL",
	cast(IsNull(to_number(MeanWorker),0) as numeric(7,0)) as "MWRK",
	cast(IsNull(FormatVersion, 1) as numeric(1,0)) as "FVersion",
	cast(IsNull(+$piece(Fields,'R100_C3:',2),0) as numeric(15,2)) as "STR_100", 
	cast(IsNull(+$piece(Fields,'R100_C4:',2),0) as numeric(15,2)) as "NAK_100", 
	cast(IsNull(+$piece(Fields,'R110_C3:',2),0) as numeric(15,2)) as "STR_110", 
	cast(IsNull(+$piece(Fields,'R110_C4:',2),0) as numeric(15,2)) as "NAK_110", 
	cast(IsNull(+$piece(Fields,'R120_C3:',2),0) as numeric(15,2)) as "STR_120", 
	cast(IsNull(+$piece(Fields,'R120_C4:',2),0) as numeric(15,2)) as "NAK_120", 
	cast(IsNull(+$piece(Fields,'R140_C3:',2),0) as numeric(15,2)) as "STR_140", 
	cast(IsNull(+$piece(Fields,'R140_C4:',2),0) as numeric(15,2)) as "NAK_140", 
	cast(IsNull(+$piece(Fields,'R150_C3:',2),0) as numeric(15,2)) as "STR_150", 
	cast(IsNull(+$piece(Fields,'R150_C4:',2),0) as numeric(15,2)) as "NAK_150",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_200", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_210", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_214", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_215",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_216", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_220", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_221", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R300_C3:',2),0)
	as numeric(15,2)) as "STR_300", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R310_C3:',2),0)
	as numeric(15,2)) as "STR_310", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R314_C3:',2),0)
	as numeric(15,2)) as "STR_314", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R315_C3:',2),0)
	as numeric(15,2)) as "STR_315", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R316_C3:',2),0)
	as numeric(15,2)) as "STR_316", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R320_C3:',2),0)
	as numeric(15,2)) as "STR_320", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R321_C3:',2),0)
	as numeric(15,2)) as "STR_321",
	cast(0 as numeric(15,2)) as "STR_252",
	cast(0 as numeric(15,2)) as "STR_201_N3",
	cast(0 as numeric(15,2)) as "STR_202_N3",
	cast(0 as numeric(15,2)) as "STR_203_N3",
	cast(0 as numeric(15,2)) as "STR_211_N3",
	cast(0 as numeric(15,2)) as "STR_212_N3",
	cast(0 as numeric(15,2)) as "STR_213_N3",
	cast(0 as numeric(15,2)) as "STR_231_N3",
	cast(0 as numeric(15,2)) as "STR_232_N3",
	cast(0 as numeric(15,2)) as "STR_233_N3",
	cast(0 as numeric(15,2)) as "STR_250_N3",
	cast(0 as numeric(15,2)) as "STR_251_N3",
	cast(0 as numeric(15,2)) as "STR_201_03",
	cast(0 as numeric(15,2)) as "STR_202_03",
	cast(0 as numeric(15,2)) as "STR_203_03",
	cast(0 as numeric(15,2)) as "STR_211_03",
	cast(0 as numeric(15,2)) as "STR_212_03",
	cast(0 as numeric(15,2)) as "STR_213_03",
	cast(0 as numeric(15,2)) as "STR_231_03",
	cast(0 as numeric(15,2)) as "STR_232_03",
	cast(0 as numeric(15,2)) as "STR_233_03",
	cast(0 as numeric(15,2)) as "STR_250_03",
	cast(0 as numeric(15,2)) as "STR_251_03"
FROM 
	ASV_Entities.CalcStatementTitle  
where
	ID in (
		select id 
		from ASV_Entities.CalcStatementTitle a1 
		where
			Period = 2 and
			Year = 2010 and 
			Type = 1 and 
			IsActual = 1 and
			CorrectNumber = (SELECT MAX(CorrectNumber) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual) = 1 AND (a1.InsurerFK = a2.InsurerFK)) and
			EnterDate = (SELECT MAX(EnterDate) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK))
		UNION
		select id
		from ASV_Entities.CalcStatementTitle a1
		where
			Period = 1 and
			Year = 2010 and 
			Type = 1 and 
			IsActual = 1 and
			CorrectNumber = (SELECT MAX(CorrectNumber) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual) = 1 AND (a1.InsurerFK = a2.InsurerFK)) and
			EnterDate = (SELECT MAX(EnterDate) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK)) and
			not exists
			(SELECT InsurerFK FROM ASV_Entities.CalcStatementTitle a2 WHERE (IsNull(+$piece(a2.Fields,'R110_C3:',2),0) + IsNull(+$piece(a2.Fields,'R110_C4:',2),0) > 0) AND (2 = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK))
		UNION
		select id
		from ASV_Entities.CalcStatementTitle a1
		where
			Period = 4 and
			Year = 2010 and 
			Type = 1 and 
			IsActual = 1 and
			CorrectNumber = (SELECT MAX(CorrectNumber) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual) = 1 AND (a1.InsurerFK = a2.InsurerFK)) and
			EnterDate = (SELECT MAX(EnterDate) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK))
		UNION
		select id
		from ASV_Entities.CalcStatementTitle a1
		where
			Period = 3 and
			Year = 2010 and 
			Type = 1 and 
			IsActual = 1 and
			CorrectNumber = (SELECT MAX(CorrectNumber) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual) = 1 AND (a1.InsurerFK = a2.InsurerFK)) and
			EnterDate = (SELECT MAX(EnterDate) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK)) and
			not exists
			(SELECT InsurerFK FROM ASV_Entities.CalcStatementTitle a2 WHERE (4 = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK))
		
		)
UNION
SELECT DISTINCT
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 4 for 3)) as numeric(3,0)) as "RAION",
	cast(To_number(Substring(Insurerfk->RegNumberPFR from 7 for 6)) as numeric(6,0)) as "REGNUMB",
	cast(To_number(Insurerfk->RegNumberPFR) as numeric(12,0)) as "ENTNMB", 
	cast(IsNull(to_number(Year),0) as numeric(4,0)) as "YEAR",
	cast(To_number(Period) as numeric(2,0)) as "PERIOD",
	cast(IsNull(to_number(CountPeople),0) as numeric(7,0)) as "CNTZL",
	cast(IsNull(to_number(MeanWorker),0) as numeric(7,0)) as "MWRK",
	cast(IsNull(FormatVersion, 1) as numeric(1,0)) as "FVersion",
	cast(IsNull(+$piece(Fields,'R100_C3:',2),0) as numeric(15,2)) as "STR_100", 
	cast(IsNull(+$piece(Fields,'R100_C4:',2),0) as numeric(15,2)) as "NAK_100", 
	cast(IsNull(+$piece(Fields,'R110_C3:',2),0) as numeric(15,2)) as "STR_110", 
	cast(IsNull(+$piece(Fields,'R110_C4:',2),0) as numeric(15,2)) as "NAK_110", 
	cast(IsNull(+$piece(Fields,'R120_C3:',2),0) as numeric(15,2)) as "STR_120", 
	cast(IsNull(+$piece(Fields,'R120_C4:',2),0) as numeric(15,2)) as "NAK_120", 
	cast(IsNull(+$piece(Fields,'R140_C3:',2),0) as numeric(15,2)) as "STR_140", 
	cast(IsNull(+$piece(Fields,'R140_C4:',2),0) as numeric(15,2)) as "NAK_140", 
	cast(IsNull(+$piece(Fields,'R150_C3:',2),0) as numeric(15,2)) as "STR_150", 
	cast(IsNull(+$piece(Fields,'R150_C4:',2),0) as numeric(15,2)) as "NAK_150",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_200", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_210", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_214", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_215",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_216", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_220", 
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end)
	as numeric(15,2)) as "STR_221", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R200_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R300_C3:',2),0)
	as numeric(15,2)) as "STR_300", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R210_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R310_C3:',2),0)
	as numeric(15,2)) as "STR_310", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R214_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R314_C3:',2),0)
	as numeric(15,2)) as "STR_314", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R215_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R315_C3:',2),0)
	as numeric(15,2)) as "STR_315", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R216_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R316_C3:',2),0)
	as numeric(15,2)) as "STR_316", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R220_C3:',4),0) else 0 end) +
	IsNull(+$piece(Fields,'R320_C3:',2),0)
	as numeric(15,2)) as "STR_320", 
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R221_C3:',4),0) else 0 end) + 
	IsNull(+$piece(Fields,'R321_C3:',2),0)
	as numeric(15,2)) as "STR_321",
	cast(
	IsNull(+$piece(Fields,'R252_C4:',2),0) + IsNull(+$piece(Fields,'R252_C5:',2),0) + IsNull(+$piece(Fields,'R252_C6:',2),0) +
	IsNull(+$piece(Fields,'R252_C4:',3),0) + IsNull(+$piece(Fields,'R252_C5:',3),0) + IsNull(+$piece(Fields,'R252_C6:',3),0) +
	IsNull(+$piece(Fields,'R252_C4:',4),0) + IsNull(+$piece(Fields,'R252_C5:',4),0) + IsNull(+$piece(Fields,'R252_C6:',4),0) 
	as numeric(15,2)) as "STR_252",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R201_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R201_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R201_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_201_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R202_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R202_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R202_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_202_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R203_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R203_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R203_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_203_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R211_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R211_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R211_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_211_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R212_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R212_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R212_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_212_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R213_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R213_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R213_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_213_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R231_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R231_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R231_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_231_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R232_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R232_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R232_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_232_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R233_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R233_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R233_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_233_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R240_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R240_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R240_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_250_N3",
	cast(
	(case when IsNull(TariffCode, '00') <> '03' then IsNull(+$piece(Fields,'R241_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') <> '03' then IsNull(+$piece(Fields,'R241_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') <> '03' then IsNull(+$piece(Fields,'R241_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_251_N3",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R201_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R201_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R201_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_201_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R202_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R202_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R202_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_202_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R203_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R203_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R203_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_203_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R211_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R211_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R211_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_211_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R212_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R212_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R212_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_212_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R213_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R213_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R213_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_213_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R231_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R231_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R231_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_231_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R232_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R232_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R232_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_232_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R233_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R233_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R233_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_233_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R240_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R240_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R240_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_250_03",
	cast(
	(case when IsNull(TariffCode, '00') = '03' then IsNull(+$piece(Fields,'R241_C3:',2),0) else 0 end) + 
	(case when IsNull(TariffCode2, '00') = '03' then IsNull(+$piece(Fields,'R241_C3:',3),0) else 0 end) + 
	(case when IsNull(TariffCode3, '00') = '03' then IsNull(+$piece(Fields,'R241_C3:',4),0) else 0 end)  
	as numeric(15,2)) as "STR_251_03"
FROM 
	ASV_Entities.CalcStatementTitle
where
	ID in (
		select id
		from ASV_Entities.CalcStatementTitle a1
		where
			Year >= 2011 and 
			Type = 1 and 
			IsActual = 1 and
			CorrectNumber = (SELECT MAX(CorrectNumber) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK)) and
			EnterDate = (SELECT MAX(EnterDate) AS Expr1 FROM ASV_Entities.CalcStatementTitle a2 WHERE (a1.Period = a2.Period) AND (a1.Year = a2.Year) AND (a1.Type = a2.Type) AND (IsActual = 1) AND (a1.InsurerFK = a2.InsurerFK))
		)

...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38120745
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintdartveider13 Может у вас есть задумка как можно упростить мой запрос?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 Select 
  --код извлечения данных один раз
 From  ASV_Entities.CalcStatementTitle
 Where ID In (
   Select ID From ASV_Entities.CalcStatementTitle Where (year=2010 And period
   Union
   Select ID From ASV_Entities.CalcStatementTitle Where (year=2011 And period
   Union
   Select ID From ASV_Entities.CalcStatementTitle Where (year=2012 And period
)



Спасибище огромное... Вот такого рода конструкция спасла
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38120803
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13Странно что Cache не обрабатывает запрос такой длиныПроверил на версии 2013.1 запрос ~45Кб - отрабатывает нормально.
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38120910
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас версия 2011
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38120919
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
методом исключения стало понятно что данная версия не отрабатывает запросы который весят более 40 кб. Фигня какая то
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38124097
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наш отдел информационных технологий выяснил, что запросы весом более 40 кб не работали, т к был включен какой то сбор статистики в СУБД. После того как его отключили, запрос стал выполнятся!!!!!! Возьмите на заметку
...
Рейтинг: 0 / 0
<Maxstring>File+6^%qarmac
    #38124228
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13 ,

Если это был встроенный в Caché сбор статистики, тогда это баг и нужно сообщить в WRC для его исправления.
Можно узнать что именно включали?
...
Рейтинг: 0 / 0
34 сообщений из 34, показаны все 2 страниц
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / <Maxstring>File+6^%qarmac
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]