-- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE FUNCTION [dbo].[backup__fds__getInvoiceTreeIds] ( @invid varchar(20) ) RETURNS TABLE AS RETURN ( with mfr_inv as ( SELECT [type] = 'invoice', [id] = [id] FROM [dbo].[mfr__invoices] as _mfri where _mfri.[id] = TRY_CAST(@invid as bigint) ), mfr_srq as ( SELECT DISTINCT [type] = 'servicerequest', [id] = mfrs.[id] FROM mfr_inv JOIN [dbo].[mfr__*PartnerSet] as ps on Property = 'Invoice:SourceServiceRequest' and ps.EntityId = mfr_inv.[id] JOIN [dbo].[mfr__servicerequests] as mfrs on ps.[PartnerId] = mfrs.id ), fds_srq as ( SELECT distinct [type] = 'servicerequest', [id] = mfrs.[id] FROM [dbo].[fds__invoices] as _fi JOIN [dbo].[fds__invoice_servicerequests] as _fs on _fi.Id = _fs.[InvId] and _fs.[mfr__servicerequest] is not null JOIN [dbo].[mfr__servicerequests] as mfrs on _fs.[mfr__servicerequest] = mfrs.id WHERE _fi.[Id] = @invid ) SELECT * FROM mfr_inv union SELECT * FROM mfr_srq union SELECT * FROM fds_srq )