-
Notifications
You must be signed in to change notification settings - Fork 0
/
Finbox agents.sql
475 lines (463 loc) · 15.1 KB
/
Finbox agents.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
/*
DROP TABLE #GREEN_FIELDS
DROP TABLE #YELLOW_FIELDS
DROP TABLE #NUM_OF_AGENTS
DROP TABLE #MAIN_WO_REPEATS
DROP TABLE #DELIVERIES
DROP TABLE #REQUESTS
DROP TABLE #ACTIVATIONS
DROP TABLE #STEP_1
DROP TABLE #FINBOX_AGENTS_W_DUPLICATES
DROP TABLE #AGENTS_BOT
*/
--<
SELECT *
INTO #GREEN_FIELDS
FROM OPENQUERY(SRCETL,
'
WITH FIS as
(
SELECT DISTINCT
user_login,
user_fio,
out_user_id,
user_rbs_code,
replace(user_passport, '' '', '''') as user_passport
FROM psb.fis_halva_user
WHERE req_type = 59
AND is_block = 0
),
RBS_ID as
(
SELECT a1.user_login,
a1.user_fio,
b2.customer_id,
b2.CUSTOMER_FIO,
b2.customer_birthday,
ROW_NUMBER() OVER(PARTITION BY b2.customer_id ORDER BY release_date desc) as r_n
FROM PSB.RBS_CARD_full b2
JOIN FIS a1
ON a1.user_passport = b2.customer_pass
),
LAST_HALVA_PHONE as
(
SELECT a1.CUSTOMER_ID,
b2.user_login,
a1.MOBILE_TELEPHONE as HALVA_PHONE,
row_number() over(partition by a1.CUSTOMER_ID order by release_date desc) as r_n
FROM PSB.RBS_CARD_CUSTOMER_SCC a1
JOIN RBS_ID b2
ON a1.customer_id = b2.customer_id
AND b2.r_n = 1
WHERE mobile_telephone is not null
),
AGENT_PERSONAL_CARD as
(
SELECT a1.user_login,
b2.id as card_id,
case when b2.cred_id is null then b2.dep_id else b2.cred_id end as cred_id,
case
when card_status = ''Ðàáî÷àÿ'' then ''Ðàáî÷àÿ''
when card_status = ''Áëîêèðîâàíà'' then ''Áëîêèðîâàíà''
when card_status = ''Àðõèâ'' then ''Àðõèâ''
end as CARD_STATUS,
row_number() over(partition by a1.user_login order by
case
when card_status = ''Ðàáî÷àÿ'' then ''Ðàáî÷àÿ''
when card_status = ''Áëîêèðîâàíà'' then ''Áëîêèðîâàíà''
when card_status = ''Àðõèâ'' then ''Àðõèâ''
end desc,
case
when upper(cred_product_name) like (''%Êàðòà ðàññðî÷êè "Õàëâà 2.0"%'') or upper(card_product_name) like (''%Õàëâà 4.0 ÌÈÐ ðîçíèöà (Ðàçðåøåí 2.0) áåç ôèçè÷åñêîãî íîñèòåëÿ%'') then 1
when upper(cred_product_name) like (''%ÂÎÑÒÎ×Í%'') or upper(cred_product_name) like (''%ÑÎÂÅÑÒ%'') or upper(cred_product_name) like (''%ÕÀËÂÀ_ÕÊÁ%'') then 2
else 3
end desc,
card_limit desc,
RELEASE_DATE desc
) as r_n
FROM RBS_ID a1
JOIN PSB.RBS_CARD_CUSTOMER_SCC b2
ON a1.customer_id = b2.customer_id
WHERE (cred_id is not null OR b2.dep_id is not null)
AND a1.r_n = 1
AND upper(card_product_name) not like (''%ÕÀËÂÅÍÎÊ%'')
AND (card_product_name) not like (''%Õàëâà 4.0 ÌÈÐ ðîçíèöà (Ðàçðåøåí 2.0) áåç ôèçè÷åñêîãî íîñèòåëÿ%'')
),
OMP as
(
SELECT b2.customer_id,
max(event_time) as event_time
FROM psb.hd_openapi a1
JOIN RBS_ID b2
ON a1.customer_id = b2.customer_id
AND b2.r_n = 1
WHERE (
APP_TYPE = ''ANDROID''
OR
APP_TYPE = ''IOS''
)
AND DBO_TYPE = ''OMP''
GROUP BY b2.customer_id
),
MOP as
(
SELECT b2.customer_id,
MAX(CASE
WHEN trunc(a1.end_date, ''month'') = trunc(current_date - 1, ''month'')
AND
target_complete = 1
THEN 1
ELSE 0
END) as curr_5_10,
MAX(CASE
WHEN trunc(a1.end_date, ''month'') = trunc(current_date - 1, ''month'') - interval ''1'' month
AND
target_complete = 1
THEN 1
ELSE 0
END) as prev_5_10
FROM PSB.PV_RBS_HALVA_MOP a1
JOIN PSB.RBS_CARD_CUSTOMER_SCC b2
ON CASE WHEN b2.cred_id is null THEN b2.dep_id ELSE b2.cred_id END = a1.cred_id
JOIN RBS_ID c3
ON b2.customer_id = c3.customer_id
AND c3.r_n = 1
GROUP BY b2.customer_id
),
TEN_FULL as
(
SELECT b2.customer_id,
max(CASE
WHEN date_open < current_date - 1
AND
date_close >= current_date - 1
THEN 1
ELSE 0
END) as TEN_ACT
FROM psb.pv_rbs_card_actions a1
JOIN RBS_ID b2
ON a1.customer_id = b2.customer_id
WHERE a1.tariff_name = ''Äåñÿòî÷êà''
OR a1.tariff_name = ''Äåñÿòî÷êà (ÃÏ)''
GROUP BY b2.customer_id
),
PAY_OMP as
(
SELECT b2.customer_id,
MAX(CASE
WHEN sms_date is not null
THEN 1
ELSE 0
END) as omp_flag,
MAX(CASE
WHEN add_pay is not null
THEN 1
ELSE 0
END) as pay_flag
FROM psb.pv_front_mp_info A1
JOIN PSB.RBS_CARD_CUSTOMER_SCC b2
ON CASE when b2.cred_id is null THEN b2.dep_id ELSE b2.cred_id END = a1.cred_id
JOIN RBS_ID c3
ON b2.customer_id = c3.customer_id
AND c3.r_n = 1
GROUP BY b2.customer_id
)
SELECT a1.OUT_USER_ID,
a1.user_passport,
b2.HALVA_PHONE,
c3.CARD_STATUS,
c3.card_id,
c3.cred_id,
ten.TEN_ACT,
case when e5.event_time is not null then ''1'' else ''0'' end as OMP_possession,
e5.event_time as last_time_OMP,
coalesce(pay.pay_flag, 0) as PAY,
mop.curr_5_10,
mop.prev_5_10,
d4.customer_id
FROM FIS a1
LEFT JOIN LAST_HALVA_PHONE b2
ON a1.user_login = b2.user_login
AND b2.r_n = 1
LEFT JOIN AGENT_PERSONAL_CARD c3
ON a1.user_login = c3.user_login
AND c3.r_n = 1
LEFT JOIN RBS_ID d4
ON a1.user_login = d4.user_login
AND d4.r_n = 1
LEFT JOIN OMP e5
ON d4.customer_id = e5.customer_id
LEFT JOIN MOP mop
ON d4.customer_id = mop.customer_id
LEFT JOIN TEN_FULL ten
ON d4.customer_id = ten.customer_id
LEFT JOIN PAY_OMP pay
ON d4.customer_id = pay.customer_id
'
)
--<
SELECT *
INTO #YELLOW_FIELDS
FROM OPENQUERY(SRCETL,
'
SELECT FIS_POINT_ID,
inn,
brand,
group_goods,
REPLACE(REPLACE(REPLACE(POINT_ADDRESS, '';'', '',''), '' ('', '', ''), '')'', '''') as POINT_ADDRESS,
REPLACE(REPLACE(POINT_ORIG_NAME, '';'', '',''), ''MoneyCare'', ''Finbox'') as POINT_ORIG_NAME,
ROW_NUMBER() OVER(PARTITION BY FIS_POINT_ID ORDER BY create_date desc) as r_n
FROM psb.fis_halva_org_point
'
) a1
WHERE r_n = 1
--<
SELECT *,
CASE
WHEN [Íîìåð òåëåôîíà] is not null
THEN ROW_NUMBER() OVER(partition by [Íîìåð òåëåôîíà] order by [ID Ñîòðóäíèêà])
ELSE ROW_NUMBER() OVER(partition by [ID Ñîòðóäíèêà] order by [ID Ñîòðóäíèêà])
END as r_n -- ïàðòí¸ð íàïðàâëÿåò ïîëüçîâàòåëåé íà ïîâòîðíóþ çàëèâêó ñ íîâûì àéäè, íî àéäè äîëæåí îñòàâàòüñÿ ïåðâûé ïðèñâîåííûé; àéäè ðàáîòàþò êàê ÷èñëà (ïîçäíèé êàê ÷èñëî áóäåò áîëüøå ðàííåãî)
INTO #MAIN_WO_REPEATS
FROM [TRANSPORT].[dbo].[FINBOX_DATA]
--<
SELECT [ID ÒÒ],
count(DISTINCT [ID Ñîòðóäíèêà]) as num_ags
INTO #NUM_OF_AGENTS
FROM #MAIN_WO_REPEATS
WHERE r_n = 1
GROUP BY [ID ÒÒ]
--<
SELECT *
INTO #REQUESTS
FROM OPENQUERY(SRCETL,
'
SELECT fis.OUT_USER_ID,
count(*) as num_of_reqs
FROM PSB.PV_FRONT_REQ_CRDT req
LEFT JOIN psb.fis_halva_org_point pts
ON req.rpnt_issue_id = pts.id
LEFT JOIN psb.fis_halva_user fis
ON req.user_id = fis.id
WHERE pts.req_type_id = 59
AND req.repdate >= date''2023-06-01''
AND UPPER(req.crdt_schema) like UPPER(''%Õàëâ%'')
GROUP BY fis.OUT_USER_ID
'
)
--<
SELECT *
INTO #DELIVERIES
FROM OPENQUERY(SRCETL,
'
SELECT fis.OUT_USER_ID,
count(*) as num_of_delivs
FROM PSB.PV_FRONT_REQ_CRDT req
LEFT JOIN psb.fis_halva_org_point pts
ON req.rpnt_issue_id = pts.id
LEFT JOIN psb.fis_halva_user fis
ON req.user_id = fis.id
WHERE pts.req_type_id = 59
AND req.repdate >= date''2023-06-01''
AND UPPER(req.crdt_schema) like UPPER(''%Õàëâ%'')
AND req.ISSUE_COMPLETE = 1
GROUP BY fis.OUT_USER_ID
'
)
--<
SELECT *
INTO #ACTIVATIONS
FROM OPENQUERY(SRCETL,
'
WITH FINBOX_AGENTS_DELIVS AS
(
SELECT repdate,
user_id,
CRDT_NUMBER,
crdt_schema
FROM PSB.PV_FRONT_REQ_CRDT req
LEFT JOIN psb.fis_halva_org_point pts
ON req.rpnt_issue_id = pts.id
LEFT JOIN psb.fis_halva_user fis
ON req.user_id = fis.id
WHERE pts.req_type_id = 59
AND req.repdate >= date''2023-06-01''
AND UPPER(req.crdt_schema) like UPPER(''%Õàëâ%'')
AND req.ISSUE_COMPLETE = 1
),
ACTIVATION AS
(
SELECT opers.OBJID,
max (
CASE
WHEN trunc(opers.REPDATE, ''DDD'') = trunc(dlvs.repdate,''DDD'')
AND opers.AMOUNT >= 500
THEN 1
ELSE 0
END
) as ACTIVATION_FLAG
FROM PSB.RBS_CARD_OPERATION_FULL opers
JOIN FINBOX_AGENTS_DELIVS dlvs
ON dlvs.CRDT_NUMBER = opers.OBJID
AND trunc(opers.REPDATE, ''DDD'') = trunc(dlvs.repdate, ''DDD'')
WHERE (
opers.TR_TYPE = (''Ïîêóïêà'')
OR
WL_MERCHANT_ID = 2652108326
)
GROUP BY opers.OBJID
),
FINBOX_AGENTS_DELIVS_ACT AS
(
SELECT dlvs.user_id,
dlvs.CRDT_NUMBER,
case when upper(CRDT_SCHEMA) like upper(''%Ñïåöðàññðî÷êà Õàëâà%'') then 1 else act.ACTIVATION_FLAG end as ACTIVATION_FLAG
FROM FINBOX_AGENTS_DELIVS dlvs
LEFT JOIN ACTIVATION act
on dlvs.crdt_number = act.OBJID
)
SELECT fis.OUT_USER_ID,
count(*) as num_of_acts
FROM FINBOX_AGENTS_DELIVS_ACT dlvs_act
LEFT JOIN psb.fis_halva_user fis
ON dlvs_act.user_id = fis.id
WHERE ACTIVATION_FLAG = 1
GROUP BY fis.OUT_USER_ID
'
)
--<
SELECT OUT_USER_ID,
RIGHT([Òåëåôîí], 10) as telephone,
row_number() over(partition by OUT_USER_ID order by cast(b2.load_date as date)) as r_n
INTO #AGENTS_BOT
FROM #GREEN_FIELDS a1
LEFT JOIN #MAIN_WO_REPEATS main
ON a1.OUT_USER_ID = CAST(main.[ID Ñîòðóäíèêà] AS varchar)
LEFT JOIN [TRANSPORT].[dbo].[SPO_TELEGRAM_AGENTS_CURRENT] b2
ON (RIGHT(b2.[Òåëåôîí], 10) = right(main.[Íîìåð òåëåôîíà], 10)
OR RIGHT(b2.[Òåëåôîí], 10) = right(a1.HALVA_PHONE, 10))
WHERE [Òåëåôîí] is not null
AND [Äàòà îòêëþ÷åíèÿ îò áîòà] is null
AND main.r_n = 1
--<
SELECT main.[ID Ñîòðóäíèêà] as [ID ñîòðóäíèêà],
main.[ÔÈÎ Ñîòðóäíèêà] as [ÔÈÎ ñîòðóäíèêà],
main.[Äàòà ðîæäåíèÿ],
main.[Ìåñòî ðîæäåíèÿ ïî Ïàñïîðòó] as [Ìåñòî ðîæäåíèÿ ïî ïàñïîðòó],
main.[Àäðåñ ïî ïðîïèñêå],
CASE
WHEN green.user_passport is not null
THEN green.user_passport
ELSE CONCAT(main.[Ñåðèÿïàñïîðòà], main.[Íîìåðïàñïîðòà])
END as [Ïàñïîðò],
main.[Êîä ïîäðàçäåëåíèÿ],
main.[Êåì âûäàí],
main.[Äàòà âûäà÷è ïàñïîðòà],
main.[Íîìåð òåëåôîíà],
main.[ID ÒÒ],
green.HALVA_PHONE as [Òåë., ïðèâÿçàííûé ê «Õàëâå»],
green.CARD_STATUS as [Ñòàòóñ êàðòû],
green.card_id as [ID êàðòû],
green.cred_id as [Êðåäèòíûé äîãîâîð],
green.ten_act as [Íàëè÷èå «Äåñÿòêè»],
green.OMP_possession as [Íàëè÷èå ÎÌÏ],
green.last_time_OMP as [Ïîñëåäíèé âõîä â ÎÌÏ],
green.pay as [Ïîäêëþ÷åíèå Pay],
green.curr_5_10 as [Âûïîëíåíèå 5õ10 â òåêóùåì ÎÏ],
green.prev_5_10 as [Âûïîëíåíèå 5õ10 â ïðîøëîì ÎÏ],
case when bot.OUT_USER_ID IS not null then '1' else '0' end as [Àãåíò â ÷àò-áîòå],
green.customer_id as [ID RBS àãåíòà],
CASE WHEN yellow.inn is not null THEN yellow.inn ELSE yellow_777.inn END as [ÈÍÍ],
CASE WHEN yellow.brand is not null THEN yellow.brand ELSE yellow_777.brand END as [Áðåíä],
CASE WHEN yellow.group_goods is not null THEN yellow.group_goods ELSE yellow_777.group_goods END as [Êàòåãîðèÿ],
CASE WHEN yellow.POINT_ADDRESS is not null THEN yellow.POINT_ADDRESS ELSE yellow_777.POINT_ADDRESS END as [Àäðåñ],
CASE WHEN yellow.POINT_ORIG_NAME is not null THEN yellow.POINT_ORIG_NAME ELSE yellow_777.POINT_ORIG_NAME END as [ÒÒ]
INTO #STEP_1
FROM #MAIN_WO_REPEATS main
LEFT JOIN #GREEN_FIELDS green
ON CAST(main.[ID Ñîòðóäíèêà] AS varchar) = green.OUT_USER_ID
LEFT JOIN #YELLOW_FIELDS yellow
ON CAST(main.[ID ÒÒ] as varchar) = yellow.FIS_POINT_ID
LEFT JOIN #YELLOW_FIELDS yellow_777
ON CONCAT('777', CAST(main.[ID ÒÒ] as varchar)) = yellow_777.FIS_POINT_ID -- â ÔÈÑå íåêîòîðûå ëîãèíû íà÷èíàþòñÿ ñ 777, Ñìûøÿëåâà ïðèñûëàåò áåç íèõ, ïîýòîìó íóæíî ýòî óñëîâèå, ÷òîáû ïîëó÷èòü èíôîðìàöèþ
LEFT JOIN #AGENTS_BOT bot
ON CAST(main.[ID Ñîòðóäíèêà] AS varchar) = bot.OUT_USER_ID
AND bot.r_n = 1
WHERE main.r_n = 1
--<
SELECT step1.*,
num_ags.num_ags as [Ê-âî àãåíòîâ íà ÒÒ],
spo_base.[Ëîãèí àãåíòà] as [Ëîãèí ÑÏÎ],
spo_base.[Ñòàòóñ àãåíòà DESS],
spo_base.[Íàèìåíîâàíèå ÒÒ (çàïîëíÿåò èíèö.) - ïîñëåäíÿÿ çàêðåïëåííàÿ òî÷êà çà àãåíòîì íà ôîðìàõ 7.1/7.8.1] as [Äåéñòâ. òî÷êà ÑÏÎ],
spo_base.[ÐÄ êóðàòîðà ÒÒ] as [ÐÄ ÒÒ ÑÏÎ],
spo_base.[ÔÈÎ Êóðàòîðà ÒÒ] as [Êóðàòîð ÑÏÎ],
spo_base.[ID Êóðàòîðà ÒÒ] as [Êîä êóðàòîðà],
spo_base.[Íàëè÷èå ìîòèâàöèè ó àãåíòà],
spo_base.[Àãåíò â ÷àò áîòå] as [Àãåíò â áîòå],
CASE WHEN reqs.num_of_reqs is not null THEN reqs.num_of_reqs ELSE 0 END as [Ê-âî çàÿâîê],
CASE WHEN delivs.num_of_delivs is not null THEN delivs.num_of_delivs ELSE 0 END as [Ê-âî âûäà÷],
CASE WHEN acts.num_of_acts is not null THEN acts.num_of_acts ELSE 0 END as [Ê-âî àêòèâàöèé],
ROW_NUMBER() OVER(PARTITION BY step1.[ID ñîòðóäíèêà] ORDER BY spo_base.[Ñòàòóñ àãåíòà DESS]) as r_n -- íåêîòîðûå àãåíòû ìóëüòèïëèöèðóþòñÿ èç-çà ïîâòîðîâ â ÑÏÎ
INTO #FINBOX_AGENTS_W_DUPLICATES
FROM #STEP_1 step1
LEFT JOIN #NUM_OF_AGENTS num_ags
ON step1.[ID ÒÒ] = num_ags.[ID ÒÒ]
LEFT JOIN [TRANSPORT].[dbo].[SPO_BASE] spo_base
ON step1.[ID RBS àãåíòà] = CASE WHEN ISNUMERIC(spo_base.[ID RBS Àãåíòà]) = 1 THEN CAST(spo_base.[ID RBS Àãåíòà] AS numeric) ELSE null END
AND spo_base.[Ñòàòóñ àãåíòà DESS] != 'Äîñòóï óäàëåí'
LEFT JOIN #REQUESTS reqs
ON step1.[ID ñîòðóäíèêà] = reqs.OUT_USER_ID
LEFT JOIN #DELIVERIES delivs
ON step1.[ID ñîòðóäíèêà] = delivs.OUT_USER_ID
LEFT JOIN #ACTIVATIONS acts
ON step1.[ID ñîòðóäíèêà] = acts.OUT_USER_ID
--<
DELETE FROM [TRANSPORT].[dbo].[FINBOX_AGENTS]
INSERT INTO [TRANSPORT].[dbo].[FINBOX_AGENTS]
SELECT [ID ñîòðóäíèêà],
[ÔÈÎ ñîòðóäíèêà],
[Äàòà ðîæäåíèÿ],
[Ìåñòî ðîæäåíèÿ ïî ïàñïîðòó],
[Àäðåñ ïî ïðîïèñêå],
[Ïàñïîðò],
[Êîä ïîäðàçäåëåíèÿ],
[Êåì âûäàí],
[Äàòà âûäà÷è ïàñïîðòà],
[Íîìåð òåëåôîíà],
[ID ÒÒ],
[Òåë., ïðèâÿçàííûé ê «Õàëâå»],
[Ñòàòóñ êàðòû],
[ID êàðòû],
[Êðåäèòíûé äîãîâîð],
[Íàëè÷èå «Äåñÿòêè»],
[Íàëè÷èå ÎÌÏ],
[Ïîñëåäíèé âõîä â ÎÌÏ],
[Ïîäêëþ÷åíèå Pay],
[Âûïîëíåíèå 5õ10 â òåêóùåì ÎÏ],
[Âûïîëíåíèå 5õ10 â ïðîøëîì ÎÏ],
[Àãåíò â ÷àò-áîòå],
[ID RBS àãåíòà],
[ÈÍÍ],
[Áðåíä],
[Êàòåãîðèÿ],
[Àäðåñ],
[ÒÒ],
[Ê-âî àãåíòîâ íà ÒÒ],
[Ëîãèí ÑÏÎ],
[Ñòàòóñ àãåíòà DESS],
[Äåéñòâ. òî÷êà ÑÏÎ],
[ÐÄ ÒÒ ÑÏÎ],
[Êóðàòîð ÑÏÎ],
[Êîä êóðàòîðà],
[Íàëè÷èå ìîòèâàöèè ó àãåíòà],
[Àãåíò â áîòå],
[Ê-âî çàÿâîê],
[Ê-âî âûäà÷],
[Ê-âî àêòèâàöèé]
FROM #FINBOX_AGENTS_W_DUPLICATES
WHERE r_n = 1
ORDER BY CAST([ID ñîòðóäíèêà] AS numeric)
--<
SELECT *
FROM [TRANSPORT].[dbo].[FINBOX_AGENTS]