Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Нужно отображать данные по одной записи интерфакс через ; в одну ячейку. для ms sql ниже 2017 нет string_agg
- пришлось пользоваться STUFF + FOR XML PATH*/
- /*- первый блок выгрузки ЮЛ с ИНН isMain = 1*/
- Select Distinct top 2000
- [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- , [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[SYSTEMID]
- ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[TYPERECORD] =N'person', N'ФЛ' ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[TYPERECORD] =N'company', N'ЮЛ' ,N'' ) ) as TypeRecord
- ,IFINN.VALUE as INN
- ,myOGRNList as OGRN
- ,[FULLNAME]
- ,myCategorylist
- ,mySanlist
- ,myProgramlist
- ,myWatchlist
- ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAX50RELATION].Id <> '', N'ДА', N'' ) as Rule50
- ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ISINFX] = 1, N'ДА', N'' ) as IsInFx
- ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ISSANCTION50] =1 , N'ДА', N'' ) as IsSanction50
- , [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[UPDATEDAT] as UpdatedAt
- , [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[SYSUPDATEDDATE] as SysUpdatedDate
- ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[STATUS] =1, N'Активна' ,N'Не активна' ) as Status
- FROM [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD]
- LEFT JOIN
- (Select sanlist_table2.INTERFAXRECORD as mySanListRecordID, mySanlist =
- STUFF(
- (Select Distinct ';' + sanlist_table1.SanlistStr
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST].[NAME] as SanlistStr
- FROM [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST] INNER JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST]
- ON [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST].[SANLIST] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST].[ID]) sanlist_table1
- where sanlist_table1.INTERFAXRECORD = sanlist_table2.INTERFAXRECORD
- FOR XML PATH ('')) , 1, 1, '')
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST].[NAME]
- FROM [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST] INNER JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST]
- ON [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST].[SANLIST] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST].[ID]) sanlist_table2
- group by sanlist_table2.INTERFAXRECORD) as IFSR on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]= IFSR.mySanListRecordID
- LEFT JOIN
- (Select category_table2.INTERFAXRECORD as mySanListRecordID, myCategorylist =
- STUFF(
- (Select Distinct ';' + category_table1.CategoryList
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY].[NAME] as CategoryList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[CATEGORY] ) category_table1
- where category_table1.INTERFAXRECORD = category_table2.INTERFAXRECORD
- FOR XML PATH ('')) , 1, 1, '')
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY].[NAME] as CategoryList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[CATEGORY] ) category_table2
- group by category_table2.INTERFAXRECORD) as IFSR2 on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID] = IFSR2.mySanListRecordID
- LEFT JOIN
- (Select program_table2.INTERFAXRECORD as mySanListRecordID, myProgramlist =
- STUFF(
- (Select Distinct ';' + program_table1.ProgramList
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION].ProgramTag as ProgramList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION]
- on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[SANCTION] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION].[ID] ) program_table1
- where program_table1.INTERFAXRECORD = program_table2.INTERFAXRECORD
- FOR XML PATH ('')) , 1, 1, '')
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION].ProgramTag as ProgramList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION]
- on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[SANCTION] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION].[ID] ) program_table2
- group by program_table2.INTERFAXRECORD) as IFSR3 on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]= IFSR3.mySanListRecordID
- LEFT JOIN
- (Select watch_table2.INTERFAXRECORD as mySanListRecordID, myWatchlist =
- STUFF(
- (Select Distinct ';' + watch_table1.WatchList
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST].Name as WatchList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST]
- on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[WATHLIST]) watch_table1
- where watch_table1.INTERFAXRECORD = watch_table2.INTERFAXRECORD
- FOR XML PATH ('')) , 1, 1, '')
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST].Name as WatchList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST]
- on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[WATHLIST] ) watch_table2
- group by watch_table2.INTERFAXRECORD) as IFSR4 on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]= IFSR4.mySanListRecordID
- LEFT JOIN
- (Select ogrn_table2.INTERFAXRECORD as mySanListRecordID, myOGRNList =
- STUFF(
- (Select Distinct ';' + ogrn_table1.OGRNLst
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].InterFaxRecord, [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].Value as OGRNLst
- from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA]
- Where [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].Type = N'ОГРН' ) ogrn_table1
- where ogrn_table1.INTERFAXRECORD = ogrn_table2.INTERFAXRECORD
- FOR XML PATH ('')) , 1, 1, '')
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].InterFaxRecord, [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].Value as OGRNLst
- from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA]
- Where [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].Type = N'ОГРН' ) ogrn_table2
- group by ogrn_table2.INTERFAXRECORD) as IFSR5 on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]= IFSR5.mySanListRecordID
- left join [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAX50RELATION] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAX50RELATION].InterFaxRecordChild = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- Inner join (Select INTERFAXRECORD, VALUE, isMain from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA] where TYPE = N'ИНН' and ISMAIN = 1) as IFINN on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID] = IFINN.INTERFAXRECORD
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST].[INTERFAXRECORD] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[INTERFAXRECORD] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[SANCTION] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION].[ID]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[INTERFAXRECORD] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[WATHLIST]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[INTERFAXRECORD] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[CATEGORY]
- LEFT JOIN (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].[INTERFAXRECORD] as IFRecord, [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].[TYPE], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].[VALUE] as myValue from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA]
- where [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].[TYPE] = N'ОГРН' and [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].[ISMAIN] = 0) as IFOGRN
- on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID] = IFOGRN.IFRecord
- /*-добавляем второй блок выгрузки ЮЛ с ИНН isMain <> 1*/
- UNION
- SELECT DISTINCT TOP 2000
- [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- , [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[SYSTEMID]
- ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[TYPERECORD] =N'person', N'ФЛ' ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[TYPERECORD] =N'company', N'ЮЛ' ,N'' ) ) as TypeRecord
- ,IFINN.VALUE as INN
- ,'' as OGRN
- ,[FULLNAME]
- ,myCategorylist
- ,mySanlist
- ,myProgramlist
- ,myWatchlist
- ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAX50RELATION].[ID] <> '', N'ДА', N'' ) as Rule50
- ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ISINFX] = 1, N'ДА', N'' ) as IsInFx
- ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ISSANCTION50] =1 , N'ДА', N'' ) as IsSanction50
- , [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[UPDATEDAT] as UpdatedAt
- , [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[SYSUPDATEDDATE] as SysUpdatedDate
- ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[STATUS] =1, N'Активна' ,N'Не активна' ) as Status
- FROM [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD]
- LEFT JOIN
- (Select sanlist_table2.INTERFAXRECORD as mySanListRecordID, mySanlist =
- STUFF(
- (Select Distinct ';' + sanlist_table1.SanlistStr
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST].[NAME] as SanlistStr
- FROM [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST] INNER JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST]
- ON [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST].[SANLIST] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST].[ID]) sanlist_table1
- where sanlist_table1.INTERFAXRECORD = sanlist_table2.INTERFAXRECORD
- FOR XML PATH ('')) , 1, 1, '')
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST].[NAME]
- FROM [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST] INNER JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST]
- ON [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST].[SANLIST] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST].[ID]) sanlist_table2
- group by sanlist_table2.INTERFAXRECORD) as IFSR on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]= IFSR.mySanListRecordID
- LEFT JOIN
- (Select category_table2.INTERFAXRECORD as mySanListRecordID, myCategorylist =
- STUFF(
- (Select Distinct ';' + category_table1.CategoryList
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY].[NAME] as CategoryList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[CATEGORY] ) category_table1
- where category_table1.INTERFAXRECORD = category_table2.INTERFAXRECORD
- FOR XML PATH ('')) , 1, 1, '')
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY].[NAME] as CategoryList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[CATEGORY] ) category_table2
- group by category_table2.INTERFAXRECORD) as IFSR2 on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]= IFSR2.mySanListRecordID
- LEFT JOIN
- (Select program_table2.INTERFAXRECORD as mySanListRecordID, myProgramlist =
- STUFF(
- (Select Distinct ';' + program_table1.ProgramList
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION].ProgramTag as ProgramList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION]
- on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[SANCTION] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION].[ID] ) program_table1
- where program_table1.INTERFAXRECORD = program_table2.INTERFAXRECORD
- FOR XML PATH ('')) , 1, 1, '')
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION].ProgramTag as ProgramList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION]
- on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[SANCTION] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION].[ID] ) program_table2
- group by program_table2.INTERFAXRECORD) as IFSR3 on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]= IFSR3.mySanListRecordID
- LEFT JOIN
- (Select watch_table2.INTERFAXRECORD as mySanListRecordID, myWatchlist =
- STUFF(
- (Select Distinct ';' + watch_table1.WatchList
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST].Name as WatchList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST]
- on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[WATHLIST]) watch_table1
- where watch_table1.INTERFAXRECORD = watch_table2.INTERFAXRECORD
- FOR XML PATH ('')) , 1, 1, '')
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST].Name as WatchList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST]
- on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[WATHLIST] ) watch_table2
- group by watch_table2.INTERFAXRECORD) as IFSR4 on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]= IFSR4.mySanListRecordID
- left join [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAX50RELATION] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAX50RELATION].InterFaxRecordChild = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- /*- если здесь сделать left , то будет выводить по строке с ИНН isMain = 1 и ИНН isMain = 0 запись*/
- inner join (Select INTERFAXRECORD, VALUE, isMain from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA] where TYPE = N'ИНН' and ISMAIN <>1) as IFINN on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID] = IFINN.INTERFAXRECORD
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST].[INTERFAXRECORD] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[INTERFAXRECORD] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[SANCTION] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION].[ID]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[INTERFAXRECORD] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[WATHLIST]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[INTERFAXRECORD] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[CATEGORY]
- LEFT JOIN (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].[INTERFAXRECORD] as IFRecord, [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].[TYPE], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].[VALUE] as myValue from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA]
- where [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].[TYPE] = N'ОГРН' and [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].[ISMAIN] = 0) as IFOGRN
- on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID] = IFOGRN.IFRecord
- /*- третий блок - блок выгрузки ФЛ*/
- UNION
- SELECT DISTINCT TOP 2000
- [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- , [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[SYSTEMID]
- ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[TYPERECORD] =N'person', N'ФЛ' ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[TYPERECORD] =N'company', N'ЮЛ' ,N'' ) ) as TypeRecord
- ,'' as INN
- ,'' as OGRN
- ,[FULLNAME]
- ,myCategorylist
- ,mySanlist
- ,myProgramlist
- ,myWatchlist
- ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAX50RELATION].[ID] <> '', N'ДА', N'' ) as Rule50
- ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ISINFX] = 1, N'ДА', N'' ) as IsInFx
- ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ISSANCTION50] =1 , N'ДА', N'' ) as IsSanction50
- , [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[UPDATEDAT] as UpdatedAt
- , [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[SYSUPDATEDDATE] as SysUpdatedDate
- ,IIF( [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[STATUS] =1, N'Активна' ,N'Не активна' ) as Status
- FROM [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD]
- LEFT JOIN
- (Select sanlist_table2.INTERFAXRECORD as mySanListRecordID, mySanlist =
- STUFF(
- (Select Distinct ';' + sanlist_table1.SanlistStr
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST].[NAME] as SanlistStr
- FROM [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST] INNER JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST]
- ON [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST].[SANLIST] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST].[ID]) sanlist_table1
- where sanlist_table1.INTERFAXRECORD = sanlist_table2.INTERFAXRECORD
- FOR XML PATH ('')) , 1, 1, '')
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST].[NAME]
- FROM [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST] INNER JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST]
- ON [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST].[SANLIST] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANLIST].[ID]) sanlist_table2
- group by sanlist_table2.INTERFAXRECORD) as IFSR on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]= IFSR.mySanListRecordID
- LEFT JOIN
- (Select category_table2.INTERFAXRECORD as mySanListRecordID, myCategorylist =
- STUFF(
- (Select Distinct ';' + category_table1.CategoryList
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY].[NAME] as CategoryList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[CATEGORY] ) category_table1
- where category_table1.INTERFAXRECORD = category_table2.INTERFAXRECORD
- FOR XML PATH ('')) , 1, 1, '')
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY].[NAME] as CategoryList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[CATEGORY] ) category_table2
- group by category_table2.INTERFAXRECORD) as IFSR2 on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]= IFSR2.mySanListRecordID
- LEFT JOIN
- (Select program_table2.INTERFAXRECORD as mySanListRecordID, myProgramlist =
- STUFF(
- (Select Distinct ';' + program_table1.ProgramList
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION].ProgramTag as ProgramList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION]
- on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[SANCTION] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION].[ID] ) program_table1
- where program_table1.INTERFAXRECORD = program_table2.INTERFAXRECORD
- FOR XML PATH ('')) , 1, 1, '')
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION].ProgramTag as ProgramList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION]
- on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[SANCTION] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION].[ID] ) program_table2
- group by program_table2.INTERFAXRECORD) as IFSR3 on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]= IFSR3.mySanListRecordID
- LEFT JOIN
- (Select watch_table2.INTERFAXRECORD as mySanListRecordID, myWatchlist =
- STUFF(
- (Select Distinct ';' + watch_table1.WatchList
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST].Name as WatchList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST]
- on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[WATHLIST]) watch_table1
- where watch_table1.INTERFAXRECORD = watch_table2.INTERFAXRECORD
- FOR XML PATH ('')) , 1, 1, '')
- from
- (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[INTERFAXRECORD], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST].Name as WatchList from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST]
- on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[WATHLIST] ) watch_table2
- group by watch_table2.INTERFAXRECORD) as IFSR4 on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]= IFSR4.mySanListRecordID
- left join [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAX50RELATION] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAX50RELATION].InterFaxRecordChild = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANLIST].[INTERFAXRECORD] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[INTERFAXRECORD] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECSANCTION].[SANCTION] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTSANCTION].[ID]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[INTERFAXRECORD] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTWATHLIST].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECWATHLIST].[WATHLIST]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[INTERFAXRECORD] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID]
- LEFT JOIN [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY] on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXDICTCATEGORY].[ID] = [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXCATEGORY].[CATEGORY]
- LEFT JOIN (Select [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].[INTERFAXRECORD] as IFRecord, [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].[TYPE], [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].[VALUE] as myValue from [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA]
- where [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].[TYPE] = N'ОГРН' and [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXREGDATA].[ISMAIN] = 0) as IFOGRN
- on [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[ID] = IFOGRN.IFRecord
- WHERE [OUTSYSTEMS].DBO.[OSUSR_JSJ_INTERFAXRECORD].[TYPERECORD] =N'person'
- ORDER by 1 Asc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement