dbo.QBM_FSQJoinsForSplittedLookup
Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB
Interpretation
- Database function. Usually supports views, validation, or calculated predicates; look at referenced-by entries for callers.
Relations
- No extracted relations.
Typed Edges
- references source dbo.QBM_FCVStringToList source text reference
- references source dbo.QBM_FCVFKDollarToRelationMVP source text reference
- references source dbo.QBM_FCVStringToIndent source text reference
- references source dbo.QBM_FSQTableJoin source text reference
Complete Source
1CREATE FUNCTION dbo.QBM_FSQJoinsForSplittedLookup(2 @UID_DialogTable varchar(38)3) RETURNS nvarchar(max4)5AS6BEGIN7 RETURN(8 SELECT9 convert(nvarchar(max), string_agg(f.zeile, char(13) +char(10)) within10 GROUP(11 ORDER BY f.sortier))12 FROM(13 SELECT14 CONCAT('join ', t.TableName, ' ', CASE t.TableName15 WHEN 'Person' THEN16 'p'17 ELSE 'w0'18 END, ' on ', dbo.QBM_FSQTableJoin(t.TableName, 's', CASE t.TableName19 WHEN 'Person' THEN20 'p'21 ELSE 'w0'22 END)) AS zeile, 0 AS sortier23 FROM DialogTable t24 WITH(readpast)25 WHERE26 t.UID_DialogTable = @UID_DialogTable AND(t.TableName = 'Person' OR(t.SplittedLookupSupport > ' ' AND t.SplittedLookupSupport <> 'no'))27 UNION all28 SELECT dbo.QBM_FCVStringToIndent(CONCAT(CASE r.ParentTable29 WHEN 'Person' THEN30 'left outer join '31 ELSE 'left outer join '32 END, r.ParentTable, ' ', CASE r.ParentTable33 WHEN 'Person' THEN34 'p'35 ELSE 'w' + trim(str(sp.OrderNumber))36 END, ' on ', 'w', trim(str(sp.OrderNumber-1)), '.', r.ChildColumn, ' = ', CASE r.ParentTable37 WHEN 'Person' THEN38 'p'39 ELSE 'w' + trim(str(sp.OrderNumber))40 END, '.', ParentColumn), 5) AS zeile, sp.OrderNumber AS sortier41 FROM DialogTable t42 WITH(readpast) CROSS apply dbo.QBM_FCVStringToList(dbo.QBM_FCVFKDollarToRelationMVP(t.TableName, t.SplittedLookupSupport),43 char(7), 1, 0) sp44 JOIN QBM_VQBMRelation r45 ON sp.ParameterValue = r.UID_QBMRelation46 WHERE47 t.UID_DialogTable = @UID_DialogTable) AS f)48END
Open raw exported source
1 create function dbo.QBM_FSQJoinsForSplittedLookup(@UID_DialogTable varchar(38) ) returns nvarchar(max) as begin return( select convert(nvarchar2(max), string_agg( f.zeile, char(13) +char(10)) within group (order by f.sortier)) from ( select concat('join ' , t.TableName , ' ' , case t.TableName3 when 'Person' then 'p' else 'w0' end , ' on ' , dbo.QBM_FSQTableJoin(t.TableName , 's', case t.TableName when 'Person' then 'p' else 'w0' end ) ) as zeile4 , 0 as sortier from DialogTable t with (readpast) where t.UID_DialogTable = @UID_DialogTable and (t.TableName = 'Person' or (t.SplittedLookupSupport >5 ' ' and t.SplittedLookupSupport <> 'no') ) union all select dbo.QBM_FCVStringToIndent( concat( case r.ParentTable when 'Person' then 'left outer join '6 else 'left outer join ' end , r.ParentTable , ' ', case r.ParentTable when 'Person' then 'p' else 'w' + trim(str(sp.OrderNumber)) end , ' on ', 'w' ,7 trim(str(sp.OrderNumber-1)), '.', r.ChildColumn , ' = ' , case r.ParentTable when 'Person' then 'p' else 'w' + trim(str(sp.OrderNumber)) end, '.' , ParentColumn8 ) , 5) as zeile , sp.OrderNumber as sortier from DialogTable t with (readpast) cross apply dbo.QBM_FCVStringToList(dbo.QBM_FCVFKDollarToRelationMVP(t.TableName9, t.SplittedLookupSupport), char(7), 1, 0 ) sp join QBM_VQBMRelation r on sp.ParameterValue = r.UID_QBMRelation where t.UID_DialogTable = @UID_DialogTable10 ) as f ) end 11